在crontab中运行Cake shell的问题

时间:2010-12-07 19:26:03

标签: php bash cron cakephp-1.3

我按照http://book.cakephp.org/view/1110/Running-Shells-as-cronjobs上的说明操作 我在运行我的shell时仍遇到一个奇怪的问题 的cronjob。

当我尝试在shell中使用模型时出现错误:

  

致命错误:在第600行的/home/cake1.3.6/cake/libs/model/datasources/dbo/dbo_mysql.php中调用未定义的函数mysql_query()

如果我手动启动它,shell运行正常 为什么PHP在通过cronjob在shell中完成时看不到mysql_query()?

我发现我可以通过调用php来解决问题 蛋糕/控制台/蛋糕的绝对路径:

自:

exec php -q ${LIB}cake.php -working "${APP}" "$@"

要:

exec /usr/local/bin/php -q ${LIB}cake.php -working "${APP}" "$@"

但是,我不喜欢这个解决方案,因为它改变了Cake核心。

任何人都有任何线索?

修改 之前有人给出了一个答案,我回答说我确信有一份PHP二进制文件,但事实证明我错了!这个答案刚刚消失了怎么回事?无论是谁,请回答问题,我会给你一点意见。谢谢!

1 个答案:

答案 0 :(得分:1)

相对路径可以改为引用其他PHP二进制文件 你可以做一个测试

php -m | grep mysql -i

/usr/local/bin/php -m | grep mysql -i

如果第一个不匹配,则说明为什么会出现未定义的致命错误。