用cron运行php脚本不成功

问题描述 投票:0回答:2

我有一个 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

syslog说...

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

...但我没有收到邮件。我有另一个php脚本,用crontab运行正常,这个脚本将phpmodbus的值插入到mysql-db中......有人知道为什么邮件脚本不能用cron运行吗?

php cron crontab phpmailer
2个回答
2
投票

试试

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

否则,cron会尝试执行 "root "命令,而这并不是一个命令,因为你是由cron运行的,所有你常用的$PATH和ENV都不可用。


0
投票

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

根据你的安装情况 - 确定 PHP bin 的位置。

which php

在你的cronjob中使用所得到的路径,例如: ** 除非你想这样做,否则不要把 "php "留在这里。

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

** 除非是有意为之,否则不要把email.php脚本留在可能被 "无意 "运行的地方,因为任何人都可以简单地点击服务器。email.php肯定是脚本小子的攻击名单。

© www.soinside.com 2019 - 2024. All rights reserved.