문제
나는 몇 가지 문제를 경험하고 있습니다 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