我按照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二进制文件,但事实证明我错了!这个答案刚刚消失了怎么回事?无论是谁,请回答问题,我会给你一点意见。谢谢!
答案 0 :(得分:1)
相对路径可以改为引用其他PHP二进制文件 你可以做一个测试
php -m | grep mysql -i
和强>
/usr/local/bin/php -m | grep mysql -i
如果第一个不匹配,则说明为什么会出现未定义的致命错误。