题
我遇到一些问题ob_*
功能,当它运行作为一个cronjob:
<?php
function getLayout($file, $extract=array()) {
if (is_file($file)) {
if (count($extract) > 0) {
extract($extract);
}
ob_start();
include $file;
$contents = ob_get_contents();
ob_end_clean();
return $contents;
}
return false;
}
file_put_contents('somecachefile.html', getLayout('somefile.php', array('var1'=>$val1, 'var2'=>$val2)));
?>
在的cronjob是设置这样的:(运行,每分钟)
* * * * * /usr/bin/php /path/to/cron.php > /dev/null
在这种情况下没有发生,但真正的cron跑了。
如果我从命令行一切工作为调用此(/usr/bin/php /path/to/cron.php
)预期。
在这里我犯了一个错误任何想法?
感谢您的帮助先期!
解决方案
您可能需要在“somefile.php”使用绝对路径。这可能是越来越在cron的PWD创建。或者你也可以在在cron语句的脚本的开头做一个CHDIR。
不隶属于 StackOverflow