【发布时间】:2010-12-08 04:07:31
【问题描述】:
我按照http://book.cakephp.org/view/1110/Running-Shells-as-cronjobs 上的说明进行操作 我在运行我的shell时仍然遇到了一个奇怪的问题 定时任务。
当我尝试在 shell 中使用模型时出现错误:
致命错误:在第 600 行调用 /home/cake1.3.6/cake/libs/model/datasources/dbo/dbo_mysql.php 中未定义的函数 mysql_query()
如果我手动启动它,shell 运行良好。
为什么 PHP 在 shell 中通过 cronjob 执行时看不到 mysql_query()?
我发现我可以通过调用 php 来解决这个问题 cake/console/cake 中的绝对路径:
发件人:
exec php -q ${LIB}cake.php -working "${APP}" "$@"
收件人:
exec /usr/local/bin/php -q ${LIB}cake.php -working "${APP}" "$@"
但是,我不喜欢那个解决方案,因为它改变了 Cake 核心。
有人知道吗?
编辑 早些时候有人回答,我回答说我确定有一份 PHP 二进制文件,但结果证明我错了!刚刚消失的那个答案怎么了?不管是谁,请把答案放回去,我会给你点。谢谢!
【问题讨论】:
-
cron 和 cli 的环境可能不同,这可能会导致问题
-
@ajreal:OP 希望您恢复您的答案。
标签: php bash cron cakephp-1.3