【问题标题】:Cron error messages; is it my script causing the errors?Cron 错误信息;是我的脚本导致错误吗?
【发布时间】:2009-08-05 01:06:30
【问题描述】:

我有一个 cron 工作,理想情况下我想每小时运行一次(它在 FB 加速器上并处理实时社交内容,所以每小时运行一次并不会减少它)

1) 我可以有一个包含“run()、sleep(60)、run()...”的持续 60 分钟的 cron 作业吗?

2) 跑到一边的频率,目前输出:

...web/public/mysqltest.php: ?php: cannot open
...web/public/mysqltest.php: require_once: not found
...web/public/mysqltest.php: include_once: not found
...web/public/mysqltest.php: include_once: not found
...web/public/mysqltest.php: syntax error at line 5: `(' unexpected

(路径的其余部分在那里)。

如何开始调试该消息?我的服务器无法打开 PHP 文件对我来说很奇怪。在浏览器中运行时,它的工作非常出色。脚本的前 6 行是:

<?php
require_once 'facebook.php';
include_once 'lib.php';
include_once 'config.php';
$facebook = new Facebook($api_key, $secret);
get_db_conn();

据我所知,没有什么超级花哨的。

我可以确认包含/必需的文件确实在同一目录中。他们是否需要一定级别的访问权限?任何和所有的帮助将不胜感激。

【问题讨论】:

    标签: php cron


    【解决方案1】:

    由于它是在内部调用的,它没有被服务器解析。 cron 作业的开头应该包含 php 解析器的路径

    例如:

    /usr/bin/php /home/path_to/php_file/yourfile.php
    

    你当然需要找到你自己的服务器的 php 路径

    【讨论】:

    • 或者把#!/usr/bin/php放在php的第一行,像这样直接执行./script.php
    【解决方案2】:

    1 cron 脚本执行时间没有限制。就个人而言,我有一个 cron php 脚本,它在执行后持续超过 45 分钟。请注意,在这种情况下您可能需要更改 php.ini,因为它包含 php 脚本执行时间限制。

    2你应该把以下

    #!/usr/bin/php
    

    在您的 php 脚本的开头。这样,您就可以像普通脚本一样从 bash 执行它。
    完成并测试后,放入cron。

    【讨论】:

      【解决方案3】:
      1. 我对此并不熟悉。

      2. 您可能应该在您的 cron 脚本中调用 /path/to/php file.php。看起来它目前正在尝试使用 bash。

      【讨论】:

      • 或者把#!/usr/bin/php放在php的第一行,像这样直接执行./script.php
      【解决方案4】:

      看起来 PHP 源代码正在作为 shell 命令列表执行 - 确保您通过 PHP 解释器运行它。

      【讨论】:

        【解决方案5】:

        如果您在脚本中指定绝对路径而不是相对路径,cron 将能够找到它们。从 cron 运行时,您的脚本不会在其目录中运行。

        【讨论】:

          【解决方案6】:

          你必须知道你的环境变量不是用 cron 定义的。

          在您的会话中,您可以调用

          php my_php_file.php
          

          它可以工作,因为 php 位于 PATH 变量的目录中。

          始终建议在 cron 作业中使用完整路径名。

          您也可以执行一个脚本来定义您需要的所有变量。

          【讨论】:

          • 或者把#!/usr/bin/php放在php的第一行,像这样直接执行./script.php
          猜你喜欢
          • 2013-06-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多