【问题标题】:How can I test a CRON job with PHP?如何使用 PHP 测试 CRON 作业?
【发布时间】:2010-03-18 07:00:19
【问题描述】:

这是我第一次使用 CRON。

我正在使用它来解析自动通过 FTP 传输到我们网站子目录的外部数据。

我创建了一个控制器和模型来处理数据。我可以在我的浏览器中正常访问该 URL,并且它可以正常工作(不过我很快就会对此进行限制)。

我的问题是,如何测试它是否有效?

我已将此添加到我的控制器中以获取快速而肮脏的日志

$file = 'test.txt';

        $contents = '';

        if (file_exists($file)) {

            $contents = file_get_contents($file);

        }

        $contents .= date('m-d-Y') . ' --- ' . PHP_SAPI . "\n\n";

        file_put_contents($file, $contents);

但到目前为止,我只从浏览器记录了我自己的请求,尽管我的 CRON 每分钟都在运行。

03-18-2010 --- cgi-fcgi

03-18-2010 --- cgi-fcgi

我已经通过命令使用 cPanel 进行了设置

index.php properties/update/

第二部分是我用来在浏览器中访问页面的部分。

那么我怎样才能测试它是否正常工作,我有什么东西塞满了吗?

注意:我使用的是 Kohana 3。

非常感谢

【问题讨论】:

    标签: php cron kohana kohana-3


    【解决方案1】:

    您没有使用正确的命令来调用 Kohana。

    确保您使用的是 index.php 的完整路径,以便消除任何路径错误。这里是switches available for use in Kohana

    • --uri:不言自明
    • --方法:HTTP 请求方法(POST、GET 等...)(覆盖 Kohana::$method)
    • --get:格式化的GET数据
    • --post:格式化的POST数据

    你应该使用这样的东西:

    php /path/to/kohana/directory/index.php --uri=properties/update/
    

    我不记得你是否需要在值周围加上双引号,如果它不起作用,别忘了尝试一下。

    【讨论】:

    • 我可能会建议您回答的一件事是不要将单词 application 放在您的示例路径中。它把我扔了,因为在 Kohana 中实际上有一个名为 application 的文件夹,它没有 index.php
    • 哦抱歉,我当时没有想到-_-' 更新了。
    【解决方案2】:

    您可能没有在该文件上运行具有 root 权限的 Cron。

    mailto="youremail@yourdomain.tld" 放在 cron 文件的开头,以便它通过电子邮件将错误发​​送给您。

    如果您没有 cron 文件的 root 访问权限(即 SSH),我不知道您是否可以在 cPanel 中执行此操作。

    【讨论】:

      猜你喜欢
      • 2011-08-15
      • 1970-01-01
      • 1970-01-01
      • 2016-09-27
      相关资源
      最近更新 更多