Проблема запуска Cake shell в cronjob - PullRequest
0 голосов
/ 07 декабря 2010

Я следовал инструкциям на http://book.cakephp.org/view/1110/Running-Shells-as-cronjobs и все еще сталкивался со странной проблемой при запуске моей оболочки в cronjob.

Я получаю ошибку, когда пытаюсь использовать модель в оболочке:

Неустранимая ошибка: вызов неопределенной функции mysql_query () в /home/cake1.3.6/cake/libs/model/datasources/dbo/dbo_mysql.php в строке 600

Оболочка работает нормально, если я просто запускаю ее вручную.
Почему PHP не видит mysql_query (), когда она выполняется в оболочке с помощью cronjob?

Я обнаружил, что могу решить эту проблему с помощьювызов php с его абсолютным путем в торт / консоль / торт:

С:

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

Кому:

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

Однако мне не нравится это решение, потому чтоэто меняет ядро ​​Cake.

Кто-нибудь знает?

РЕДАКТИРОВАТЬ Был один ответ от кого-то ранее, и я ответил, что уверен, что есть одна копия двоичного файла PHPно оказалось я ошибся!Что случилось с этим ответом, когда он просто исчез?Кто бы это ни был, отложите ответ, и я дам вам точку.Спасибо!

1 Ответ

1 голос
/ 07 декабря 2010

Относительный путь может указывать на другой двоичный файл PHP.
Вы можете сделать тест

php -m | grep mysql -i

AND

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

Если первыйодно не соответствует, это объясняет, почему вы получаете неопределенную фатальную ошибку.

...