1

我有每天使用 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中没有这样的文件或目录第281行的.php

致命错误:require_once() [function.require]: 无法打开所需的 '/common/configs/config_local.inc.php' (include_path='.:/usr/lib/php:/usr/local/ lib/php') 在第281行的/home/wwwsite/public_html/sitename/common/configs/config.inc.php

有没有人能解决这个问题?

4

2 回答 2

3

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

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

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

于 2012-09-03T12:05:04.413 回答
1

我有解决办法

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

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

于 2012-09-04T04:02:18.287 回答