我的Cake
PHP控制台脚本在cron下执行时遇到问题.它抱怨缺少MysqL连接等.
经过一番调查后,我发现cron运行的PHP使用了不同的PHP.ini文件,而不是在终端中运行它.
更奇怪的是,在终端中,PHP不使用cli配置:
PHP在终端中运行:
Configuration File (PHP.ini) Path: /usr/local/lib Loaded Configuration File: /usr/local/lib/PHP.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
由cron运行的PHP:
Configuration File (PHP.ini) Path: /etc/PHP5/cli Loaded Configuration File: /etc/PHP5/cli/PHP.ini Scan for additional .ini files in: /etc/PHP5/cli/conf.d Additional .ini files parsed: /etc/PHP5/cli/conf.d/memcache.ini,/etc/PHP5/cli/conf.d/MysqL.ini,/etc/PHP5/cli/conf.d/MysqLi.ini,/etc/PHP5/cli/conf.d/pdo.ini,/etc/PHP5/cli/conf.d/pdo_MysqL.ini,/etc/PHP5/cli/conf.d/suhosin.ini,/etc/PHP5/cli/conf.d/xcache.ini
我不知道为什么它没有使用相同的配置文件.我没有注意到终端中ENV变量或作为cron运行时有什么特殊之处.