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

时间:2012-09-03 11:59:02

标签: php cron

我有使用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.php 在线 281
  
  致命错误:require_once()[function.require]:打开所需的'/common/configs/config_local.inc.php'失败(include_path ='。:/ usr / lib / php:/ usr / /home/wwwsite/public_html/sitename/common/configs/config.inc.php 中的 281

中的local / lib / php') >

任何人都有解决这个问题的方法吗?

2 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

我有解决方案,

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

这已经运行我的cron作业,因为我设置没有任何错误