使用 cron 运行 php-script 不起作用


run php-script with cron does not work

我有一个php-email(phpmailer 5.2.14)脚本,当我在bash中运行时,它可以正常工作:

pi@schnickschnack: php /var/www/html/email.php

当我使用 cron (sudo crontab -e) 运行此脚本时:

*/1 * * * * root php /var/www/html/email.php

系统日志 说...

Jan 22 08:53:01 Schnickschnack CRON[4482]: (root) CMD (root php /var/www/html/email.php)

。但我没有收到邮件。我有另一个php脚本,它可以与crontab一起使用。此脚本将来自 phpmodbus 的值插入到 MySQL-DB 中。有没有人提示为什么邮件脚本不能与 cron 一起使用?

试试

* * * * * php /var/www/html/email.php

否则,cron 会尝试执行命令"root",这不是命令。

由于您通过 cron 运行,因此所有常用的$PATH和 ENV 都不可用。所以 CRON 不知道在哪里可以找到"php"。

根据您的安装 - 确定 PHP 箱的位置:

which php

在 cronjob 中使用生成的路径。 例如:

*/1 * * * * /bin/php /var/www/html/email.php

**除非有意,否则不要留下电子邮件.php脚本,任何简单地点击网络服务器的人都可以"无意中"运行它。 电子邮件.php肯定在脚本小子命中列表中。