This may look like an stupid question, but i didn't find any answer to my question.
I recently do in the Heroku Bash : php artisan make:controller user/edit.
It's now there, in the cloud, but not in my computer. Please note that is not just with make:controller but it can be with anything.
For example, pull a databse is easy, heroku db:pull. But how to pull file?
I tried with git pull, and I get an Already up-to-date. answer.
I can't play with files, and this is not awesome.
Thanks
You can't, and that's intentional. See e.g. https://stackoverflow.com/a/28463836/162354 and https://stackoverflow.com/a/28083271/162354 for answers to the same question.
You run stuff like php artisan make:controller user/edit on your local computer, test it there, and when stuff works, you push it up. That's the correct workflow. Heroku is not a development sandbox.
Related
I deployed the laravel app to digitalocean:
but I don't understand why is it showing error 500??
I connected a github repo to deploy it to digitalocean.
1- I set the build commands to: composer install
2- environment variables are set: APP_NAME, APP_URL, APP_KEY, DATABASE_URL, APP_DEBUG
This is how the repo looks (private)
What seems to be the issue??
I just did check the repo and it seems the vendors folder not there and your build steps look like a typo issue so please run below command
composer install
Still you face the issue then refer the laravel logs for that what went wrong
you also dont have a .env file
maybe copy the .env.example to .env
perhaps follow the instructions on the laravel site for the version you are using.
in your question, you have spelt 'install' incorrectly
turns out there were typos of lower and upper cases in controllers according to the laravel log.
I fixed them and now the site is running. It's weird that these typos didn't trigger erorrs locally..
All You have to do is configure the .env file if u have a .example.env edit the file to .env if u dont have it just try to create one or clone one from another project and do composer install but don't forget to generate a key with php artisan key:generate in the end
strangely I have never programmed locally, I am a beginner but unfortunately I have always created my little scripts directly live. I am using Laravel with Xampp, but now I would like to put my script online.
My question is, what files do I need to edit to make it effective online? At the moment I edit the .env file locally to connect to the database, but is it the same even if I put it online?
Thanks
Here you can find some basic information: https://laravel.com/docs/7.x/installation and https://laravel.com/docs/7.x/deployment
In general, to have a site in production (Laravel or not) it is better to manage your code with git (through Github, Gilab, etc.)
to have a clean version management (the alternative is to use Ftp trought Cpanel, ...).
If you are a beginner, you can go to https://forge.laravel.com/ which is a portal that greatly facilitates the production of a Laravel project.
Otherwise, a generic hosting is better that has the possibility to connect via ssh, in order to easily execute the commands
(composer install, php artisan, ...).
You can do many optimizations in production (I leave out the ones on the .env file you know):
When you do maintenance on the site it is always best to disable it first(status 503):
php artisan down
Upload the latest version of the code from the git repository:
git pull
Clean the item cache on the server:
php artisan cache:clear
Clean the route cache and recreate it (to do if there is no static code in web.php, but only references to code in the controller):
php artisan route:clear
php artisan route:cache
Clean and optimize the config file (reduces the number of files to be read from ten to one):
php artisan config:clear
php artisan config:cache
Clean up expired passwords and reset tokens (clean up tokens when a user requests a password reset):
php artisan auth:clear-resets
Recreate the framework classes or update the application:
composer dump-autoload or composer install
Activate the site:
php artisan up
I need to run php artisan config:clear on my app that is online, the only issue is that I have only the FTP credentials and DB, and not the SSH to run on the terminal, how can I run this command without the terminal?
Already tried looking on the forum and didn't found any question related with my issue but didn't found any answer for it.
You can call the artisan command from anywhere in your PHP code block.
$exitCode = Artisan::call('config:clear');
More info can be found here https://laravel.com/docs/5.4/artisan#programmatically-executing-commands
That artisan command is only a helper to let you clear out the cached files.
You should be able to clear the config cache yourself, by removing the file config.php from folder /bootstrap/cache/ in your project.
I recently made a mistake by rolling back my database too far on my localhost and removed all the data from within the databases I've had. I did migrate the databases so they would return but they still were cleaned out.
Asking around what to do next, I was told that I should backup the database on Heroku (which has all the current information) and pull it onto my localhost. If this is the correct action to take, then I am still facing a problem. When I type:
heroku pg:pull DATABASE_URL mylocaldb --app (my_app_name) it returns an error of:
sh: createdb: command not found
!
! Unable to create new local database. Ensure your local Postgres is
working and try again.
I do not have the best understanding of databases as I am newer; however, I have downloaded sql on my local machine. All of the commands I input are in the regular console and not the psql terminal.
If anyone has any knowledge or can help me, I would greatly appreciate it. Thank you so much!
Joe
Edit: If you do have another method/solution, please let me know. I cannot update my application until I have this done so I do not lose my information.
I would try using backup/restore:
heroku pg:backups --app MYAPPNAME capture
curl -o latest.dump `heroku pg:backups --app MYAPPNAME public-url`
as (almost) documented at
https://devcenter.heroku.com/articles/heroku-postgres-import-export
Note the strange placement of --app MYAPPNAME. It needs to go immediately after the heroku sub-command and before any other arguments.
I would appreciate your help. I really don't know where else to turn to. I can't deploy a L4 app to Hostgator. I read the guide on the forums, but my shared HG account already has many apps under public_html so deleting it would be catastrophic and a risk I cannot afford to play with.
Is there a way to deploy L4 app like any other normal apps?
What I am trying to do is the following:
home/myuser/public_html/domain.com/laravel/ <--- where the app should live
home/myuser/public_html/domain.com/laravel/dev <--- dev environment
in both of these folders there is a separate git repository (via ssh). with remotes dev and prod
so what I simply want to achieve is:
git push prod
and
git push dev
but when I push, I am getting a message:
dev/bootstrap/../vendor/autoload.php) [function.require]: failed to open stream: No such file or directory
/dev/bootstrap/../vendor/autoload.php' (include_path='.:/opt/php53/lib/php') in
Turns out I had not installed Composer properly.
I solved this by:
adding alias to php 5.3 in .bashrc:
alias php53='/opt/php53/bin/php'
installing Composer:
curl -sS https://getcomposer.org/installer | php53
in composer.json, in the "scripts" replacing php with: /opt/php53/bin/php (alias is not accepted, do not know why)
running
php53 composer.phar install
adding to .htaccess:
AddType application/x-httpd-php53 .php
I created a repository to simplify the installation process(mostly for future visitors) after struggling with it several times.
You can find the repository at https://github.com/ralphowino/laravel-for-hostgator-users or download it via https://github.com/ralphowino/laravel-for-hostgator-users/archive/master.zip