为什么fopen在由cron作业执行的文件中失败?

时间:2014-06-30 20:23:57

标签: php cron fopen

我在PHP文件中有以下代码:

if(!$fp = fopen(__DIR__ . '/up.lock', "c+"))
{
    die('Failed to open up.lock');
}

代码的目的是防止文件的多个实例运行。

当我通过网络浏览器通过shell执行文件时,它可以正常工作。但是,当它作为cron作业执行时,消息Failed to open up.lock将通过电子邮件发送给我。

为什么在作为cron作业执行时它不起作用,我该如何解决?

1 个答案:

答案 0 :(得分:1)

__DIR__需要成为一条绝对的道路。如果是,则必须确保您的cron用户具有足够的权限