• 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
  • Inviting everyone to the UX test of a new security feature in the WP Toolkit
    For WordPress site owners, threats posed by hackers are ever-present. Because of this, we are developing a new security feature for the WP Toolkit. If the topic of WordPress website security is relevant to you, we would be grateful if you could share your experience and help us test the usability of this feature. We invite you to join us for a 1-hour online session via Google Meet. Select a convenient meeting time with our friendly UX staff here.

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