我只是尝试在CPanel中使用cron作业运行PHP脚本 - 这是正确的语法:
/usr/bin/php -q /home/username/public_html/cron/cron.php >/dev/null
我没有收到任何说明cron已完成的电子邮件通知,我是否需要对PHP文件执行任何特定操作?
在crontab系统中:
/usr/bin/php 是php二进制路径(在某些系统中有所不同:freebsd /usr/local/bin/php ,linux: /usr/bin/php )
/usr/bin/php
/usr/local/bin/php
/home/username/public_html/cron/cron.php 应该是你的php脚本路径
/home/username/public_html/cron/cron.php
/dev/null 应为cron输出,例如: /home/username/stdoutx.txt
/dev/null
/home/username/stdoutx.txt
所以你可以通过查看cron输出来监控你的cron /home/username/stdoutx.txt
我使用此命令来激活cron作业 .
/usr/bin/php -q /home/username/public_html/yourfilename.php
在godaddy服务器上,它的工作正常 .
>/dev/null 阻止cron发送邮件 .
>/dev/null
实际上在我看来,最好让 php 脚本本身来关心它的记录,而不仅仅是输出一些东西给cron
php
这是最简单的方法:
php -f /home/your_username/public_html/script.php
如果要将脚本输出记录到文件中,请将其添加到命令的末尾:
>> /home/your_username/logs/someFile.txt 2>&1
这是方式:
/usr/bin/php -q /home/username/public_html/yourfilename.php >/dev/null
这个cron系列使用cpanel在hostgator VPS上为我工作 .
/usr/bin/php -q /home/username/public_html/scriptname.php
我在CPanel上使用/ usr / bin / php时遇到了问题,因为它被编译为“cgi-fcgi”二进制文件而不是“cli” . 尝试使用/ usr / local / bin / php或者,因为它是路径中的第一个,只需使用'php'代替:
php /path/to/script.php
如果要将脚本作为可执行文件运行,请将其赋予x perms并使用以下内容作为脚本的第一行:
#!/usr/bin/env php
我希望你的问题也是路径和php二进制文件 . 如果您已根据较旧的答案修复了路径,请在运行cron job时使用php-cli而不是php命令 .
有可能 php_sapi_name() 没有返回 cli . 它返回了像 cgi-fcgi 等其他东西 .
php_sapi_name()
cli
cgi-fcgi
/usr/bin/php-cli -q /home/username/public_html/cron/cron.php >/dev/null
我希望它会有所帮助 .
这很好,也发送电子邮件:
/usr/bin/php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
以下两个命令也可以正常工作,但不发送电子邮件:
/usr/bin/php -f / home /与上面相同
php -f / home /与上面相同
Suggested By Experts.
/usr/local/bin/php /home/username/public_html/path/to/cron/script
对于特定领域 Multi PHP Cron Job ,请这样做,
/usr/local/bin/ea-php56 /home/username/domain_path/path/to/cron/script
在上面的示例中,将“ea-php56”替换为分配给您要使用的域的PHP版本 .
希望这有助于某人 .
11 回答
在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作业 .
在godaddy服务器上,它的工作正常 .
>/dev/null
阻止cron发送邮件 .实际上在我看来,最好让
php
脚本本身来关心它的记录,而不仅仅是输出一些东西给cron这是最简单的方法:
php -f /home/your_username/public_html/script.php
如果要将脚本输出记录到文件中,请将其添加到命令的末尾:
>> /home/your_username/logs/someFile.txt 2>&1
这是方式:
这个cron系列使用cpanel在hostgator VPS上为我工作 .
我在CPanel上使用/ usr / bin / php时遇到了问题,因为它被编译为“cgi-fcgi”二进制文件而不是“cli” . 尝试使用/ usr / local / bin / php或者,因为它是路径中的第一个,只需使用'php'代替:
如果要将脚本作为可执行文件运行,请将其赋予x perms并使用以下内容作为脚本的第一行:
我希望你的问题也是路径和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
我希望它会有所帮助 .
这很好,也发送电子邮件:
/usr/bin/php /home/xxYourUserNamexx/public_html/xxYourFolderxx/xxcronfile.php
以下两个命令也可以正常工作,但不发送电子邮件:
/usr/bin/php -f / home /与上面相同
php -f / home /与上面相同
Suggested By Experts.
对于特定领域 Multi PHP Cron Job ,请这样做,
在上面的示例中,将“ea-php56”替换为分配给您要使用的域的PHP版本 .
希望这有助于某人 .