I\'m relatively new to configuring Apache.
I have a PHP script that writes a JSON file based on values retrieved from $_GET
.
Check the file permission either in command line using:
ls -l /path/filename
Or through your ftp client if you have ftp access to the file/dir. If not, you could change the location like Stony said above.
You can try to set the permissions with
chmod function for php and set your directory to /var/www there you have normally enough permissions.
Know that sometimes there is absolutely no way to get around this using PHP only.
The two solutions to this are:
I've often found the latter option to work best.
You need to check if the user under which runs apache has permission to write into the directory.
So it's like this:
Your apache server is process. The process runs under some user (say www). The PHP runs under apache. So if you try to write into a directory in PHP it is the same as if the user www logs into the server and tries to create a file in the same directory. So check who is owner of that directory and which permission do it have. You can do it e.g. via ls -la
command. If www
will be owner of that directory, you will be 100% safe ...
Check the file/directory permissions that it is trying to write to. Make sure that it is writable by the user and/or group that the Apache process is running as.
Also check to see if SELinux is enabled by checking the contents of /selinux/enforce. If it is, either disable it or make sure the proper labels are set on the path that you are writing to.