Php Cron错误消息;是我的脚本导致了这些错误吗?

Php Cron错误消息;是我的脚本导致了这些错误吗?,php,cron,Php,Cron,我有一份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.ph

我有一份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();

  • 我对此不熟悉。

  • 您可能应该在cron脚本中调用/path/to/php file.php。看起来它目前正在尝试使用bash
  • 我对此不熟悉。

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

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

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

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

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

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

    2您应该将以下内容

    #!/usr/bin/php
    
    在php脚本的开头。通过这种方式,您可以像通常的脚本一样从bash启用它的执行。

    完成并测试后,放入cron。

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

    2您应该将以下内容

    #!/usr/bin/php
    
    在php脚本的开头。通过这种方式,您可以像通常的脚本一样从bash启用它的执行。

    完成并测试后,放入cron。

    因为它是在内部调用的,服务器不会解析它。 cron作业的开头应该包括php解析器的路径

    例如:


    当然,您需要找到自己的服务器到php的路径,因为它是在内部调用的,而不是由服务器解析的。 cron作业的开头应该包括php解析器的路径

    例如:


    您需要找到自己的服务器到php的路径当然,您必须知道您的环境变量不是用cron定义的

    在您的会话中,您可以呼叫

    php my_php_file.php
    
    它之所以有效,是因为php被放入PATH变量的目录中

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


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

    您必须知道,您的环境变量不是用cron定义的

    在您的会话中,您可以呼叫

    php my_php_file.php
    
    它之所以有效,是因为php被放入PATH变量的目录中

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

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

    或通过放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/将usr/bin/php放在php的第一行,并像下面这样直接执行它。/script.phpOr,方法是放置#/在php的第一行使用usr/bin/php,并像下面这样直接执行它。/script.php