Report this

What is the reason for this report?

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

Posted on December 27, 2019

$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.



This textbox defaults to using Markdown to format your 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’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

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

The developer cloud

Scale up as you grow — whether you're running one virtual machine or ten thousand.

Get started for free

Sign up and get $200 in credit for your first 60 days with DigitalOcean.*

*This promotional offer applies to new accounts only.