我在PHP文件中有以下代码:
if(!$fp = fopen(__DIR__ . '/up.lock', "c+"))
{
die('Failed to open up.lock');
}
代码的目的是防止文件的多个实例运行。
当我通过网络浏览器或通过shell执行文件时,它可以正常工作。但是,当它作为cron作业执行时,消息Failed to open up.lock
将通过电子邮件发送给我。
为什么在作为cron作业执行时它不起作用,我该如何解决?
答案 0 :(得分:1)
__DIR__
需要成为一条绝对的道路。如果是,则必须确保您的cron用户具有足够的权限