我只是尝试在CPanel中使用cron作业运行PHP脚本 - 这是正确的语法:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
我没有收到任何说明cron已完成的电子邮件通知,我是否需要对PHP文件做任何特定的事情?
答案 0 :(得分:102)
我使用此命令为此激活cron作业。
/usr/bin/php -q /home/username/public_html/yourfilename.php
在godaddy服务器上,它的工作正常。
答案 1 :(得分:63)
在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输出/home/username/stdoutx.txt
答案 2 :(得分:29)
>/dev/null
阻止cron发送邮件。
实际上在我看来,最好让php
脚本本身关注它的记录,而不仅仅是输出一些东西给cron
答案 3 :(得分:17)
这是最简单的方法:
php -f /home/your_username/public_html/script.php
如果要将脚本输出记录到文件中,请将其添加到命令的末尾:
>> /home/your_username/logs/someFile.txt 2>&1
答案 4 :(得分:15)
这是方式:
/usr/bin/php -q /home/username/public_html/yourfilename.php >/dev/null
答案 5 :(得分:11)
这个cron系列使用cpanel在hostgator VPS上为我工作。
/usr/bin/php -q /home/username/public_html/scriptname.php
答案 6 :(得分:9)
我在CPanel上使用/ usr / bin / php时遇到了问题,因为它被编译为“cgi-fcgi”二进制而不是“cli”。尝试使用/ usr / local / bin / php,或者首先在路径中使用,只需使用'php'代替:
php /path/to/script.php
如果要将脚本作为可执行文件运行,请将其指定为+ x perms并使用以下内容作为脚本的第一行:
#!/usr/bin/env php
答案 7 :(得分:6)
我希望你的问题与路径有关。 php二进制文件也是。 如果您已根据较旧的答案修复了路径,请在运行cron job时使用php-cli而不是php命令。
php_sapi_name()
可能无法返回cli
。它还返回了cgi-fcgi
等其他内容。
/usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
我希望它会有所帮助。
答案 8 :(得分:3)
这样可以正常工作并发送电子邮件:
/ usr / bin / php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
以下两个命令也可以正常工作,但不发送电子邮件:
/ usr / bin / php -f / home /与上面相同
php -f / home /与上面相同
答案 9 :(得分:2)
专家建议。
/usr/local/bin/php /home/username/public_html/path/to/cron/script
答案 10 :(得分:1)
这实际上很简单,
php -q /home/username/public_html/cron/cron.php
答案 11 :(得分:0)
对于特定于域的 Multi PHP Cron Job ,请这样做
<mat-form-field style="width:500px !important">
在以上示例中,将“ ea-php56”替换为分配给您要使用的域的PHP版本。
希望这对某人有帮助。
答案 12 :(得分:0)
在Hostgator CPANEL上,这对我有用:
php /home/here_your_user_name/public_html/cronJob.php