0

我正在运行一个在另一个用户(不是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 中,它说我必须是超级用户才能更改所有权,这对我来说似乎不太安全......

4

2 回答 2

2

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

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

于 2012-03-12T18:05:37.040 回答
1

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

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

因为它是通过互联网完成的,所以 Apache 将成为用户。

于 2012-03-12T18:24:06.540 回答