1

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

我使用编辑 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 来定位并确认它都在正确的区域运行

4

1 回答 1

3

*你的时代价值观太多了。

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

而是尝试:

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

/usr/bin/phpPHP的实际路径在哪里。您可以从控制台运行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 脚本的运行。

于 2012-08-10T00:01:49.290 回答