我有使用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
中的local / lib / php') >
致命错误: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
任何人都有解决这个问题的方法吗?
答案 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作业,因为我设置没有任何错误