apache用户的php-chown()问题


php chown() issue with apache user

我正在运行一个在另一个用户(而不是apache)下运行的cron,当我试图访问apache的文件时,它显示了一个错误,如:

fopen(): SAFE MODE Restriction in effect. 
The script whose uid is 10017 is not allowed to access ....

这是因为safe_mode已打开,它不允许我使用apache的文件(在本例中是通过网站上传的文件)。我该如何克服这一点?在php.net中,它说我必须是超级用户才能更改所有权,这对我来说似乎不太安全。。。

您通过"PHP"解释器(来自cron作业)而不是通过Apache的mod_PHP运行PHP脚本。这意味着您可以随意启用和禁用PHP的安全模式。

你可能应该做一些类似php -d safe_mode=0 myscript.php的事情。

或者通过http请求调用您的cron。

wget -O - -q -t 1 http://yourdomain/myscript.php

因为它是通过interwebs完成的,Apache将是用户。