【问题标题】:include path error in the cron job in php在 php 的 cron 作业中包含路径错误
【发布时间】:2012-08-28 04:00:54
【问题描述】:

我有每天使用 php 生成 XML 文件的功能。

这在浏览器中工作正常。但在 cron 作业中不起作用。

cron 给了我一次所需的错误和致命错误。它停止了我的 cron 作业的执行。 包含的文件也包含其他文件。

我得到的错误是,

警告:require_once(/common/configs/config_local.inc.php) [function.require-once]:无法打开流:/home/ 中没有这样的文件或目录wwwsite/public_html/sitename/common/configs/config.inc.php281 行

致命错误:require_once() [函数.require]:在 /home/wwwsite 中打开所需的 '/common/configs/config_local.inc.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') 失败/public_html/sitename/common/configs/config.inc.php281 行

谁有解决这个问题的办法?

【问题讨论】:

    标签: php cron


    【解决方案1】:

    它告诉你它找不到'/common/configs/...',注意那里的绝对路径,第一个字符是'/'。

    您可以将其设置为定义它的相对路径,也可以将前缀也放在那里('/home/wwwsite/public_html/sitename/'),可能带有变量($sitebase ='/ home/wwwsite/public_html/sitename/';) 并在包含文件名前加上前缀。

    它在网站上运行但不在命令行上运行的原因可能是几种方法之一。最明显的是 CLI(命令行界面)的 php.ini include_path 不包含“。”从当前目录检查。默认情况下它没有它还有一个很好的理由。另一种方法是您的代码可能将 ..../sitename/ 目录放入 include_path - 或者设置要自动包含的文件。

    【讨论】:

      【解决方案2】:

      我有办法了,

      curl yoursitename/yourfilename.php > /dev/null 2>&1

      这已经按照我的设置运行了我的 cron 作业,没有任何错误

      【讨论】:

        猜你喜欢
        • 2011-06-30
        • 2015-10-29
        • 1970-01-01
        • 2012-06-29
        • 2014-09-10
        • 2011-03-09
        • 2012-09-07
        • 2017-09-05
        • 2016-06-26
        相关资源
        最近更新 更多