在php中的cron作业中包含路径错误


include path error in the cron job in php

我每天都可以使用php生成XML文件。

这在浏览器中运行良好,但在cron作业中不起作用。

cron为所需的once和Fatal错误提供了错误。它停止了我的cron作业的执行。所包括的文件也包括其他文件。

我得到的错误是,

警告:require_one(/common/configs/config_local.inc.php)[function.requie-once]:无法打开流:在281
行的/home/wwwwsite/public_html/sitname/common-configs/config.inc.php中没有这样的文件或目录
致命错误:requireonce()[function.request]:在281
行的/home/wwwwsite/public_html/sitname/common/configs/config.inc.php中打开所需的"/common/configs/config_local.php"(include_path='.:/usr/lib/php:/usr/local/lib/php')失败

有人能解决这个问题吗?

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

您可以将其作为定义它的相对路径,也可以将前缀("/home/wwwwsite/public_html/sitename/")放在其中,可能带有一个变量($sitebase='/home/wwsite/public_html/sitename/';),并在include文件名前面加上前缀。

它在网站上工作,而不是在命令行上工作的原因可能是几种方式之一。最明显的是,CLI(命令行界面)的php.ini include_path不包括"."用于从当前目录进行检查。还有一个很好的理由是默认情况下它没有。另一种方式是,您的代码可能会将/sitename/目录中的include_path,或者以其他方式设置要自动包含的文件。

我有解决方案,

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

这已经运行了我的cron作业,正如我所设置的那样,没有任何错误