在 CentOS 6.4 中使用 CronJobs 执行 PHP 不起作用?

在 CentOS 6.4 中使用 CronJobs 执行 PHP 不起作用?

所以我现在花了大约 2-3 个小时,有时进行研究,我在网上发现了几个相同的答案,但似乎都不起作用!

我试图每分钟执行一个 PHP 脚本(作为测试),但它不起作用。

这是 /etc/crontab 中的 crontab 老实说,我不明白该脚本有什么问题。所以我去检查了日志,我得到了这个;

5 月 1 日 19:59:01在此命名crond[1112]: (系统) 重新加载 (/etc/crontab) 5 月 1 日 19:59:01在此命名crond[1112]: (CRON) 错误的用户名 (/etc/crontab)

我很困惑,任何帮助将不胜感激!

我已经安装了 LAMP 和 php-cli(如果有的话)。

编辑:

我终于让它执行了!感谢下面的海报!但是,我现在遇到了另一个问题,我收到一条错误电子邮件 在此输入图像描述 ,我的脚本包含其他脚本,当我在 cPanel(共享主机)上时,它工作得很好,但现在不行,可能是什么问题?

答案1

您似乎有某个版本的 cron 需要user-name在命令之前有一个参数。它甚至在标题中,只是一点点:

*  *  *  *  * <user-name> <command to be executed>

试试这个(用 php/apache 运行的任何用户替换 root):

* * * * * root /usr/bin/php /var/www/html/directory/file.php

另请注意,某些发行版具有单独的php.ini配置,具体取决于它是通过命令行 (cli) 使用还是作为 apache 模块等使用。因此,如果您遇到更多问题,请确保您的php.ini文件匹配(检查/etc/php)。

更新

对于绝对工作路径,请像这样包含:

include __FILE__ . '../inc/databases.php';

请注意添加的内容__FILE__,它返回当前运行脚本的绝对路径。您将必须更新所有includerequire

相关内容