我正在运行一个调用php脚本的cronjob。当cron调用该文件时,我得到“无法打开流”。当我cd到目录并从该位置运行文件时,一切都很好。基本上,我想要包含的include_once()文件是php脚本所在的两个目录。
有人可以告诉我如何通过cronjob工作吗?
答案 0 :(得分:6)
有多种方法可以执行此操作:您可以cd
进入cron脚本中的目录:
cd /path/to/your/dir && php file.php
或者指向相对于PHP中current script的正确包含文件:
include dirname(__FILE__) . '/../../' . 'includedfile.php';
答案 1 :(得分:5)
cron
以最小的环境开始是臭名昭着的。之一:
最后一个例子(如果没有太多需要设置的东西,我倾向于使用它):
0 5 * * * (export PATH = /mydir:$PATH ; myexecutable )
答案 2 :(得分:1)
你需要看看cron的路径是什么。
echo pathinfo($_SERVER["PATH_TRANSLATED"]);
根据这个做包含
include $path_parts['dirname']."/myfile.php";