I'm trying to install canvace, but both in local and on another dev server I'm getting error "file_put_contents(config.inc.php): failed to open stream: Permission denied" during installation.
I've found 3 config.inc.php in my server and changed their permission to 777 (one at the time), but i still get the same error.
Any hint on what should i try next?
Make sure the file config.inc.php is not owned by root. You can use ls -al to see the user and group names in the directory the file is at. Try using CHOWN and changing the user/group to the PHP/web user and group.
Related
I try to access a samba folder via PHP under Ubuntu 18.04.
The structure is
.\media\documents\customers...
All files have 0755 set as permission and are owned by smbuser. When I read the directory with scandir, I get a list of all folders. But when I try to access a subdirectory, I always get a "failed to open dir: permission denied in ...".
For example:
.\media\documents\customers\clientA -> works and lists all folders
.\media\documents\customers\clientA\videos -> permission denied
It works when I change the owner to www-data, but this isn't helpful. I also tried to change the group to www-data, but that has no effect.
What else can I do?
As I didn't solve my problem I created a folder under /var, sync this via cronjob and change owner of source to www-data.
It works, but it's not the solution I wanted.
I have migrated files from one directory to another with:
cp -rfpn "${OLD_WWW_DIR}/users/img/." "${NEW_WWW_DIR}/users/img"
However, when I want to rewrite image in PHP script (user updates its avatar via form), I got:
Warning: imagejpeg(/var/www/new_web/www/users/img/avatar_456.jpg): failed to open stream: Permission denied in "script name" on line "xy"
How to solve this and set rights correctly during copy?
cp -rfpn
The -p option should be preserving the ownership of the file. Are you sure the permissions on the original file allowed PHP to write to it?
In Linux, you can change permissions and owner with chmod and chown respectively.
I am trying to run a server on ArchLinux, I have apache and PHP running normally, but i can't upload a file with PHP. I have seen many questions of this sort on Stackoverflow and I seem to have used all the suggestions I found, but I still get a
failed to open stream: Permission denied in /srv/http/upload.php
error.
To be precise
Warning: move_uploaded_file(): Unable to move '/tmp/phpZvJK1l' to '/home/administrator/SCRIPTS/tr/solution.cpp' in /srv/http/upload.php on line 20
I set the permissions for /tmp/, /home/administrator/SCRIPTS/tr and /srv/http to 777 (I know thats not right, but I am working locally right now and I want to get it working somehow).
Also I set all the owner of these directories to http (that is the user running PHP), but the thing still doesnt work.
Some PHP configurations do not allow file access outside the users docroot directory, so you may not have access to /tmp from within PHP. Try uploading your file(s) to a temp directory within your /home/administrator directory - preferably to a directory that isn't accessible to web browsers (a sibling directory to your docroot).
give permission to the /tmp dir :
sudo chmod 777 /tmp
As an Arch user I have the same issue when I work on web projects.
I'll recommend you to see this part of the Arch Wiki
User directories are available by default through http://localhost/~yourusername/ and show the contents of ~/public_html (this can be changed in /etc/httpd/conf/extra/httpd-userdir.conf).
So do to so you have to create the ~/public_html directory then
You must make sure that your home directory permissions are set properly so that Apache can get there. Your home directory and ~/public_html must be executable for others ("rest of the world"):
$ chmod o+x ~
$ chmod o+x ~/public_html
$ chmod -R o+r ~/public_html
After that you don't need to put your file under /srv/http/ you can now use ~/public_html as development directory.
I had my Laravel 3 application running on a different server. I wrapped it up and sent it to my new server. Unpacked it, and while I am trying to display the Laravel application on the new server, I receive this error:
Unhandled Exception Message:
file_put_contents(/var/www/customer_area/storage/views/13f378cf44cd9253eb03394b5a7fd914):
failed to open stream: Permission denied
Location:
/var/www/customer_area/laravel/blade.php on line 63
I have already read through this question several times where others have solved a similar problem by changing permissions on 'storage/directories' to '775'. I even changed permissions on the entire 'var/www' directory to '777', and I still have the error.
Something that I noticed is that there is no '13f378cf44cd9253eb03394b5a7fd914' in the storage/views folder. There are five other files in the folder, but not that one.
Assuming you are running apache on linux, look into recursive chgrp www-data and chown www-data on the folders
Just modify file/folder permissions
Assuming you are in root folder, run one of these commands
chmod -R 0777 storage // for L3
chmod -R 0777 app/storage // for L4
I've changed development machines and have moved across one of my projects. However, when I try to run one of the files in this project, I get the following error message:
Warning: require(/var/www/libraries/facebook.php): failed to open stream: Permission denied in /var/www/logout.php on line 11 Fatal error: require(): Failed opening required '/var/www/libraries/facebook.php' (include_path='.:/usr/share/php:/usr/share/pear') in /var/www/logout.php on line 11
Anyone know why this would be happening?
It might be that I have the permissions set incorrectly. What should the file and folder permissions be?
All files are currently set to -rw-r--r-- and folders are set to drwx------, is that right?
Sometimes when things get moved paths can change. The error indicates that the file '/var/www/libraries/facebook.php' could not be found. Make sure that the file exists in that location.
Sometimes the web server runs with different credentials than the user. Try setting the directories to drwxr-x---, and the files to -rw-r--r--. If that doesn't work, then try changing the directories to drwxr-xr-x.
You are getting a Permission denied error which means that your libraries folder can only be accessed by the root user. Try to execute the script as a root user or give read permissions to the folder.
## use only for files ##
chmod 0444 /var/www/*
chmod 0444 /var/www/*.php
TO set directories in read-only mode, enter:
## use only for dirs ##
chmod 0544 /var/www/
chmod 0444 /path/to/your/dir/
You say the permissions are drwx------. Try changing to the /var/www/libraries directory in the shell as a non-root user. If you get an error there, the web server will also. You might need 755 permissions so the server can traverse to that directory. Just be careful what else is in that folder since it could be readable by the whole world.