• Introducing WebPros Cloud - a fully managed infrastructure platform purpose-built to simplify the deployment of WebPros products !  WebPros Cloud enables you to easily deliver WebPros solutions — without the complexity of managing the infrastructure.
    Join the pilot program today!
  • Support for BIND DNS has been removed from Plesk for Windows due to security and maintenance risks.
    If a Plesk for Windows server is still using BIND, the upgrade to Plesk Obsidian 18.0.70 will be unavailable until the administrator switches the DNS server to Microsoft DNS.

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