虽然我们很多人都问过许多与 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