我正在运行一个在另一个用户(而不是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将是用户。