PHP Cronjob 不执行

标签 php linux cron

我正在运行 Ubunutu Linux 服务器、PHP5、Apache2,并且无法通过 crontab 运行任何类型的 cronjob。

我使用编辑crontab

crontab -e

我保存我要运行的文件:

*/5 * * * * php /home/user/public_html/crx/cronx.php

它保存得很好。我可以从控制台运行该文件并顺利进行。我什至找不到该文件的任何现有日志。我检查了 cron 是否正在运行、停止和启动……没有变化。

当前的 php 文件只是一个简单的测试脚本,将一行插入到数据库中。

我检查了该文件的权限并具有读写权限。我完全被难住了。我似乎无法通过 cron 运行任何东西。我可以运行什么来测试权限吗?

编辑 我也尝试过以下命令

          • /usr/bin/php /home/user/public_html/crx/cronx.php

我使用 whereis php 和 which php 来定位并确认它都在正确的区域运行

最佳答案

您的时间有太多 * 值。

此外,cron 可能没有正确设置 PATH 以使用 PHP。

改为尝试:

*/5 * * * * /usr/bin/php /home/user/public_html/crx/cronx.php

其中 /usr/bin/php 是 PHP 的实际路径。您可以从控制台运行 which php 以查看您应该使用的 PHP 二进制文件的路径。

编辑:为了解决问题,这里还有一些尝试:

# see if cron is running just by having it create a file
*/5 * * * * touch /tmp/crontab-$(date +%s)

另一种选择:

将您的 PHP 脚本的权限设置为 755,并将开头更改为:

#!/usr/bin/php -q
<?php
// rest of script

然后将您的 cron 选项卡更改为:

*/5 * * * * /home/user/public_html/crx/cronx.php

我仍然不确定 cron 是问题还是 PHP 脚本的运行。

关于PHP Cronjob 不执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11893665/

相关文章:

php - 如何检查 curl 是启用还是禁用

linux - 在 ansible 中从远程位置安装

php - 在评论中查找不同样式的日期

php - 如何在 Ubuntu 19.04 上安装 php7.4?

linux - 所需的最小字节数

linux - ls -lth | awk '{printf.... 获取文件列表并添加标题

CakePHP:为什么我的缓存文件在过期时会导致巨大的峰值?

php - 预定销售结束,但查看产品时可变产品似乎仍在销售 - Woocommerce

linux - 用于更新 Deluged Interface IP 的 Bash 脚本无法作为 cron 作业运行,但在手动运行时有效

php - 将参数标签发送到php中的另一个页面