I’ve uploaded my Laravel app to a cpanel host .
The problem is that Laravel does not read the contents of the .env file and show me a “Whoops, looks like something went wrong.” page ( twice In one page )
This error is displayed because the program can not receive the APP_KEY variable . can not read .env file at all . I searched a little for this problem, but the solutions did not work . I tried all these:
- ‘php artisan cache:clear’ command
- ‘php artisan config:clear’ command
- ‘php artisan config:cache’ command
- change permission for .env file (755)
- run all ‘composer update’ , ‘composer install’ , ‘composer dump-autoload’ commands
- I did not use env function anywhere
- There are no spaces in the values stored in the env file
But none of the above did not work out.
However, My program runs well in local ( windows ) and there is no problem But it does not run on the server ( cpanel )
note : I realized that when I execute the ‘php artisan config:cache’ command on server , all cache files are made in ‘bootstrap/cache’ folder, except for the config.php file
note2 : I uploaded several times in different ways. Once all the files in the folder in the root and the public files in the public_html folder . and once all the files in the public_html folder. Both not working
Does anyone know where the problem is?
3
Answers
That always happens to me on new sites, so I usually run:
Note: The last one (laravel.log) does not exist the first time, bun then it is created.
Instead of 777 you could use a more recommended ug+rwx if you first run:
chgrp -R www-data storage bootstrap/cache
chgrp -R www-data storage storage
where www-data is the web server user, it could be apache or httpd
Take a look at the
storage/logs/laravel.log
file to get more accurate information.Make sure the
putenv()
andgetenv()
functions are not disabled Inphp.ini
You should not use .env file for production, it is only for development purpose.
Create environment variables for your production(on server not .env).