Вопрос
Я испытываю некоторые проблемы с 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)));
?>
Задание cron настраивается следующим образом:(работает каждую минуту)
* * * * * /usr/bin/php /path/to/cron.php > /dev/null
В этом случае ничего не произошло, но cron действительно запустился.
Если я позвоню этому (/usr/bin/php /path/to/cron.php
) из командной строки все работает как положено.
Есть идеи, где я допустил ошибку?
Спасибо за помощь заранее!
Решение
Вероятно, вам нужно использовать абсолютный путь к «somefile.php».Вероятно, он создается в pwd cron.Или вы можете сделать chdir в начале сценария в операторе cron.
Не связан с StackOverflow