我正在使用生成每日日志的 Kohana 框架 (3.0.9)。如果在 CRON 运行脚本的前一天制作了日志文件,我想邮寄日志文件,但经过几天的尝试,我无法弄清楚如何在 PHP CLI 模式中推迟 safe_mode。
当我在网络上运行我的脚本时,没有问题。但我想在我的 Plesk 9.5.2 服务器上(或以 root 用户身份在命令行上)将脚本作为 CRON 任务运行,但出现以下错误:
ErrorException [ 2 ]: dir(): 安全模式限制生效。uid 为 10001 的脚本不允许访问 uid 48 ~ APPPATH/classes/controller/ajax.php 拥有的 /var/www/vhosts/mydomain.com/subdomains/mysubdomain/httpdocs/application/logs/2011/01 [ 181]
我已经在我的 Plesk 控制面板中关闭了安全模式,这对于 web 请求工作正常,但不能在命令行上或作为 CRON 任务。
我正在使用以下代码来测试它是否工作:
$d = dir(APPPATH.'logs/2011/01/');
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
echo $entry."\n";
}
$d->close();
我可以读取目录 APPPATH.'logs/',以及目录 APPPATH.'logs/2011',但该目录代表每个月的每日日志文件总是会出错。