My laravel 4 project was created on localhost. Now i am trying to put it on the server (shared hosting) but i am running in to an error. First let me explain how i uploaded my laravel project.
mydomain.nl
mydomain.nl--public_html
mydomain.nl--public_html--dev
mydomain.nl--public_html--packages
mydomain.nl--public_html--index.php
mydomain.nl--public_html--.htacces
mydomain.nl--public_html--all other contents form public laravel folders
mydomain.nl--project
mydomain.nl--project--bootstrap
mydomain.nl--project--vendor
mydomain.nl--project--app
mydomain.nl--project--all other folders and files wich were not in laravel public folder
Then i changed my mydomain.nl/project/bootstrap/paths.php to:
'public' => __DIR__.'/../../public_html',
And my mydomain.nl/public_html/index.php to
require __DIR__.'/../project/bootstrap/autoload.php';
$app = require_once __DIR__.'/../project/bootstrap/start.php';
If i go to my domain i get the following error
Error in exception handler: The stream or file "/hostingvariables/project/app/storage/logs/laravel.log" could not be opened: fopen(/hostingvariables/project/app/storage/logs/laravel.log) [function.fopen]: failed to open stream: Permission denied in /hostingvariables/project/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:77
I tryd everyting i could imagine but i can not solve this error, if someone could help me solve this error that would be great?
The error tells you that you dont have write access to
/hostingvariables/project/app/storage/logs/laravel.log
it says
Permission denied
So if you can chmod it to 775, or contact your host if it a shared solution where they control write access
I like this method best. Instead of changing folder permissions, set Apache to run as you.
In terminal type id to get uid=123(Myname).
Open /etc/apache2/httpd.conf and edit it to use your username.
<IfModule unixd_module>
User Myname
Group staff
</IfModule>
Back to terminal: sudo apachectl restart
Related
I have Laravel 5.4 installed on my Mac using Composer and MAMP Pro. The installation completed successfully, but when I try to load localhost/lsapp/public, an UnexpectedValueException error is returned. I have checked the file permissions for the storage and logs directories and both are set to 755 using the command line. It seems the log file cannot be written for some reason. Any suggestions?
Full permission denied message: The stream or file "/Applications/MAMP/htdocs/lsapp/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied
in StreamHandler.php (line 107)
When you go into a production environment, I'd recommend the following:
755 permissions for the /log
644 permission for the files inside
For example if you're using apache:
The user owner of the directory (www-data) can read, write and execute.
The assigned group (www-data, where my user is) can read and execute, but not write.
Everyone else can read and execute, but not write.
I just faced the same issue with my installation. Here's what I did to solve it:
Make sure that www-data (or your web server's user) is either the owner or group's owner of the logs directory.
Then make sure that this user have read-write-execute on that folder. On linux I used 770 for that folder. Then laravel is now working fine.
Hope that's help!
Basic php and javascript website
No errors on Wamp
When I put the files on my Lamp server everything works except for this error I get on the top of the page
Warning: file_put_contents(donneesDonut.json): failed to open stream:
Permission denied in /var/www/html/bp/action/IndexAction.php on line
101
I looked around and most people suggest to change the permission of the file or the entire directory on apache.
chmod 777 did nothing for me.
I'm new to web servers so I probably have missed some apache configuration for permissions during the installation process
Here is a screenshot of the directory
Directory listing
I don't think there is a problem with the code since it works on my local Wamp server but here is the line of code that gives me the error.
file_put_contents($this->json, json_encode($this->donneesDonut));
If you need any other information like specific apache configuration please tell me where to get them.
Hope you can help
The problem was SELinux with was set to enforce by default on Centos
I am runing an php mvc project on server on localhost it is working fine . but when i uploaded the same project on server it is giving the following error ,not getting any kind of clue
403 - Forbidden: Access is denied.
You do not have permission to view this directory or page using the credentials that you supplied.
Give that folder permissions to 777
There may be two reasons of this
1)folder does not have permission, so need to provide permission on this like:-
sudo chmod -R 0777 folder-path
2)Check for htacess file reside in this folder with deny permission
I am working on Laravel 4. On remote server I took backup of old laravel.log and created new one and restored old one again by removing newly created one. Since then I am getting error:
Error in exception handler: The stream or file "/var/www/stage/webapp/app/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /var/www/staging_html/webapp/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:84
I even change mode and but it did not work either. It's not happening across system, just a particular page.
I am on Amazon AWS
You recreated the file, so the permissions have changed, and apache can no longer access it. Run this in command line to set the permissions:
chown www-data:www-data /var/www/stage/webapp/app/storage/logs/laravel.log
That's if you're using apache. It changes ownership of the file to apache (web server). If the web server user isn't www-data. Find out by typing:
ls -l
In the command line to see what user owns the other files in your laravel directory. Replace www-data:www-data with the user that owns the other web files.
To be clear the left side of the colon is user group and the right side is the user. If you have a specific user group that needs access to those files as well like git or ftp, you may need to set it like this:
git:www-data
ftp:www-data
group:user //generic example
It just depends on your access requirements. If you have questions let me know.
I did an installation of laravel, and copied the files to a xampp hosted folder on the same machine. When I try to visit my index.php file however, I'm getting the following error:
Error in exception handler: The stream or file "/Applications/XAMPP/xamppfiles/htdocs/TestManagement/app/storage/logs/laravel.log" could not be opened: failed to open stream: Permission denied in /Applications/XAMPP/xamppfiles/htdocs/TestManagement/bootstrap/compiled.php:8969
I'm always a bit hesitant about changing permissions, as I've done some pretty bad chmodding before. Was wondering if there was a rule of thumb or expected behavior for this. Should this be 777 or 755?
The Laravel and Monolog documentation appear to contain no reference to the 'right' permissions. You can make it work with restrictive permissions, but be aware of all of the users that need access:
the web server user
cron user (if you run artisan commands via cron)
anyone who manually runs artisan commands.
They will each need read/write permissions to the log files.
Always use 777 on app/storage folder