![在 CPanel 中,cron 作业未执行且未发送任何邮件](https://linux22.com/image/1273145/%E5%9C%A8%20CPanel%20%E4%B8%AD%EF%BC%8Ccron%20%E4%BD%9C%E4%B8%9A%E6%9C%AA%E6%89%A7%E8%A1%8C%E4%B8%94%E6%9C%AA%E5%8F%91%E9%80%81%E4%BB%BB%E4%BD%95%E9%82%AE%E4%BB%B6.png)
虽然我们很多人都问过许多与 cron 作业相关的问题,但还是让我问一个问题...
我想定期执行 PHP 脚本。我使用 cron 命令:
php -q http://www.example.com/cron.php?action=getA
我也尝试过这个:
php -q /home/myuser/www.example.com/cron.php?action=getA
它没有被执行,也没有发送任何邮件。我将邮件 ID 设置为我的gMail 帐号。 我究竟做错了什么?
答案1
您尝试的操作将不起作用,因为您无法通过 PHP 命令行传递 GET 变量,并且当在命令行上使用问号时,您需要转义问号或用引号将字符串括起来。
这将起作用:
wget 'http://www.example.com/cron.php?action=getA'
答案2
怎么样:
wget http://www.example.com/cron.php?action=getA
您确定您的路径是 www.example.com 吗?
在 cron.php 中执行以下操作
<?php
// current directory
echo getcwd() . "\n";
?>
这将返回您的 cron.php 文件所在的确切目录,并在您的 cron 中使用 php -q。
我认为你应该在 cPanel 上使用如下内容:
php -q /home/myuser/public_html/cron.php?action=getA