我有一个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?
答案 0 :(得分:2)
试
* * * * * php /var/www/html/email.php
否则,cron尝试执行命令“root”,这不是命令。
答案 1 :(得分:0)
当您通过cron运行时,所有常规的$ PATH和ENV都不可用。 因此CRON不知道在哪里可以找到“ php”。
取决于您的安装-确定PHP bin的位置:
which php
在您的cronjob中使用结果路径。例如:
*/1 * * * * /bin/php /var/www/html/email.php
**除非打算这样做,否则不要将email.php脚本留在任何可以轻易访问Web服务器的人“无意间”运行的地方。 email.php肯定在脚本小子的热门列表中。