【问题标题】:Crontab and PHP scriptCrontab 和 PHP 脚本
【发布时间】:2013-08-30 03:00:14
【问题描述】:

我目前遇到了一个我无法在线解决的问题。我尝试了两种不同的操作系统,并且都有相同的困难。一个是 Ubuntu,另一个是 OSx。

现在的问题是,对于这个示例,每分钟运行一次 cron 来访问 .php 文件,这反过来将 .txt 文件中找到的值的计数增加 1。

在 .php 文件的开头我有:

#!/usr/bin/php

我也尝试在末尾添加 quiet 标签。这并没有导致 cron 工作。

cron命令如下:

          • php /var/www/cron/index.php >/dev/null 2>&1

在 CRON 下的 syslog 中找到的输出是:

(用户) CMD (php /var/www/cron/index.php >/dev/null 2>&1)

没有错误。 如果我按照给出的命令运行该命令。 .txt 中的计数加 1。但没有任何东西可以说明为什么 cron 不允许这种情况发生。

对不起这篇文章。任何建议将不胜感激。

【问题讨论】:

  • 假设/var/www/cron/index.php 是普通的PHP 文件,尝试:* * * * * /usr/bin/php -f /var/www/cron/index.php > /var/www/cron/index_output.txt 并让我知道您是否真的在index_output.txt 中有任何输出。为了测试,您可以将<?php echo 'test '; 放入index.php 以查看它是否有效。还要先创建index_output.txt 并将其设为0777,这样我们就可以确定这与权限无关。
  • 感谢迈克尔的快速回复。我测试了你的建议。 index_output.txt 实际上每分钟都增加 1。但是初始文件 text.txt 保持不变。此外,如果我通过浏览器或仅 php /var/www/cron/index.php 运行 php 文件,则 text.txt 文件会增加。
  • 这让我看起来很傻。看到相关问题后。有一个错过了我的注意。我浏览了它,发现一条评论指出,在 cron'ed 文件中链接的文件必须是绝对路径。实施这个解决了这个问题!感谢 Michal Prajsnar 的建议。
  • 因为我是新海报。我自己无法回答这个问题。
  • 您能否编辑您的问题并发布您的index.php 代码或只是其中text.txt 递增和保存的部分?编辑:好的,那就解决了。 GL :)

标签: php cron


【解决方案1】:

只是留下一个答案,以供其他人将来参考。请检查 Cron 运行的 php 文件中包含的文件是否具有绝对路径,而不仅仅是文件本身的本地路径。

即: 没有: 包括“inc/test.php”;

您需要使用例如: 包括'/var/www/cron/inc/test.php';

【讨论】:

    猜你喜欢
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2023-02-20
    • 2016-03-02
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多