我只是想在CPanel中使用cron作业运行PHP脚本-这是正确的语法:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
我没有收到任何电子邮件通知,说明cron已完成,我需要对PHP文件做一些特定的事情吗?
我只是想在CPanel中使用cron作业运行PHP脚本-这是正确的语法:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
我没有收到任何电子邮件通知,说明cron已完成,我需要对PHP文件做一些特定的事情吗?
Answers:
在crontab系统中:
/usr/bin/php
是php程序二进制文件路径(在某些系统的前夫不一样:在FreeBSD /usr/local/bin/php
,Linux的:/usr/bin/php
)/home/username/public_html/cron/cron.php
应该是你的PHP脚本路径/dev/null
应该是cron输出,例如: /home/username/stdoutx.txt
因此,您可以通过查看cron输出来监视cron /home/username/stdoutx.txt
我使用此命令为此激活了cron作业。
/usr/bin/php -q /home/username/public_html/yourfilename.php
在godaddy服务器上,其工作正常。
-q
代表什么?
-q
用于安静模式,禁止显示HTTP标头输出
>/dev/null
阻止cron发送邮件。
实际上在我看来,最好使php
脚本本身来关心它的日志记录,而不是只输出某些内容给cron
>/dev/null 2>&1
也在结尾处做...
/path/to/file.php > /dev/null
它将保持沉默。
我希望您的问题也是路径和php二进制文件。如果您已按照旧答案修复了路径,请在运行cron作业时使用php-cli而不是php命令。
可能php_sapi_name()
没有返回cli
。它返回别的东西像cgi-fcgi
等。
/usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
希望对您有所帮助。
由专家建议。
/usr/local/bin/php /home/username/public_html/path/to/cron/script
实际上很简单,
php -q /home/username/public_html/cron/cron.php
对于特定于域的Multi PHP Cron Job,请执行以下操作,
/usr/local/bin/ea-php56 /home/username/domain_path/path/to/cron/script
在上面的示例中,将“ ea-php56”替换为分配给您要使用的域的PHP版本。
希望这对某人有帮助。