Question

Able to Read but not Write to a file using PHP/Apache on CentOS

$myfile = fopen(“testData.txt”, “r”) or die(“Unable to open file!”); echo fread($myfile,filesize(“testData.txt”)); fclose($myfile);

Above works! The following fails using either “a”-append or “w”-write!

$myfile = fopen(“testData.txt”, “a”) or die(“Unable to open file!”); $txt = “John Doe\n”; fwrite($myfile, $txt); $txt = “Jane Doe\n”; fwrite($myfile, $txt); fclose($myfile);

ls -l returns: -rw-rw-rw-. 1 user user 24 Dec24 07:54 testData.txt

I am sure that it is a permissions issue somewhere, but no clue where to look. PHP file and the data file are in the same directory (I know this is not good practice - just trying to eliminate as many variables as possible).

Thank you in advance.

Subscribe
Share

Thank you KDSys for the quick response.

However, the lsattr command returns all ---------------------.


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi @revans2695,

It does seem exactly like that, if you are able to open it with the user from the shell and not from the browser, I would say exactly that.

Regards, KDSys

Hi @revans2695,

It’s possible you’ve or any other system has made the file immutable. Please execute the following command on the file

lsattr testData.txt

It will show you the attributes of the file. Example

 lsattr test
----i---------e--- test

The above example shows the file has a tag of -i and -e. The -i tag means immutable while the -e tag means executable. To remove the -i tag, you would need to do

chattr -i test

Regards, KDSys