/ crontab中的/ usr / bin / php和php之间的区别

指定“/ usr / bin / php”和设置PHP脚本在我的crontab中运行时只使用“php”有什么区别? 我倾向于使用“php”而不是完整的path。

30 16 * * * php /var/www/vhosts/dev_crm/cron/picco.php >> /home/crmpicco/cron-picco.log 2>&1 

要么

 30 16 * * * /usr/bin/php /var/www/vhosts/dev_crm/cron/picco.php >> /home/crmpicco/cron-picco.log 2>&1 

谢谢。

谁运行这个crontab?

它可以由不同的用户运行,他的$ PATH中没有/ usr / bin,或者可以在修改的环境下运行,在$ PATH中同样没有/ usr / bin。

如果有疑问,请指定完整path。

不同的是,第一个crontab不会工作:)

原因在于执行crontabs的用户没有填充PATHvariables来限制非自愿错误的影响。

如果需要,可以在命令前重新声明variables:

 30 16 * * * PATH=/usr/bin/ php /var/www/vhosts/dev_crm/cron/picco.php >> /home/crmpicco/cron-picco.log 2>&1