我有一个PHP脚本从一些服务器下载和操作图像,然后保存在本地。 因为图像每5分钟更新一次,所以我想每5分钟下载并保存一次图像。 如果我从浏览器或控制台运行脚本它运行完美,如果它从crontab运行图像不创build。 logPHP.log文件创build时出现错误。
crontab的:
*/5 * * * * /usr/bin/php5 -f /var/www/radar/radar.php > /var/www/logPHP.log
编辑:
我得到的错误:
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/intl.so' - /usr/lib/php5/20090626+lfs/intl.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/pspell.so' - /usr/lib/php5/20090626+lfs/pspell.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20090626+lfs/snmp.so' - /usr/lib/php5/20090626+lfs/snmp.so: cannot open shared object file: No such file or directory in Unknown on line 0
有PHP的ini文件试图加载不存在的扩展。 在/etc/php5查找
extension=intl.so extension=pspell.so extension=snmp.so
并删除它们。
编辑:但是,这可能不是问题的原因。 最有可能的是没有为cron作业设置的环境variables。
Syslog只会告诉你进程的退出代码。 所以它不会告诉你shell有任何写入错误,因为实际上php过程正确地结束了。
我的假设是,用户正在运行的crontab没有权限写入/ var / www。 即使PHP脚本没有输出任何文件仍然应该创build的内容。
最后,cron deamon会向用户发送任何未被捕获的输出。 所以,如果有错误,你应该收到一封电子邮件。 cat /var/spool/mail/$USER