• If you are still using CentOS 7.9, it's time to convert to Alma 8 with the free centos2alma tool by Plesk or Plesk Migrator. Please let us know your experiences or concerns in this thread:
    CentOS2Alma discussion

User Permissions / PHP / Files

KrazyBob

Regular Pleskian
Until I switched to Plesk 9 I had no trouble writing a log file for an application that I wrote. It used PHP's FOPEN() command. It would write the file as the user. Now it does jot write at all. If I run it manually it writes it as Apache:Apache. What's changed?

Code:
<?php
unlink('test.txt');
$fp = fopen('test.txt', 'w');
$date = strftime('%c');
fwrite($fp, $date);
fclose($fp);
?>

A similar block of code would write a ticker file that later would display on our pages. It was written and saved as the main site user, such as "siteadmin." No PHPnreports that it is unable to open or save the file. We've changed nothinhg. This script has run since 2002.

We worked around this by creating an external script and using a CRON to write the file and this works fine. This suggests that the user has permission to open and write the file! Imagine our confusion.
 
I am not able to duplicate this problem on my end if the file has the correct permissions.

Lets say test.txt is owned by user:psacln, by running a cronjob to write that file it will be successful. If you manually execute the script it will need to be owned by apache:apache. Another workaround will be to install suPHP so the webserver will run it under the same ownership as the file.
 
Back
Top