首页 文章

Cronjob不工作 - 试图运行PHP脚本

提问于
浏览
0

我正在运行一个运行PHP脚本的cronjob做一些事情;首先,它打开数据库并将表的内容存储到memcache中;第二,它创建一个基本上是几个数组的Javascript文件,以便客户端浏览器可以完成大量工作并使服务器免于过载 . 这是新添加的 .

该脚本手动运行非常好,并且已经完成了一年多的工作,每10分钟更新一次内存缓存 . 添加Javascript文件是一个大问题; cronjob s / b每隔10分钟创建一个新的,更新版本的文件,但似乎不起作用,除非我从命令行手动运行它 .

我可以通过这样做来检查:

ls -al id_index.js

并检查文件列表中的时间戳 .

从crontab启动的脚本创建Javascript文件有问题吗?

顺便说一下,cronjob文件条目如下所示:

# m h  dom mon dow   command
*/10 * * * * php /home/accountname/public_html/mc_store_arrays.php

任何和所有的帮助表示赞赏 .

3 回答

  • -1

    您期望在哪个目录中创建javascript文件?它可能正在某处创建......无论cron的工作目录恰好是脚本运行的时候(也许是 /root/ ?) . 确保使用绝对路径指定输出文件,例如:

    file_put_contents(__DIR__ . '/id_index.js', $content);
    

    这将根据正在运行的php脚本的路径创建文件,而不是执行它的路径 .

  • 1

    很可能你必须指定php cli解释器的绝对路径,因为cron环境很少定义可用的PATH环境变量 .

  • 1

    尝试使用LYNX(就像你使用网络浏览器一样);

    示例: LYNX http://www.MyDomain.Com/MyScript.php?MyParameter=MyValue&And=SoOn

相关问题