PHP ob_ * от cronjob? - PullRequest
       10

PHP ob_ * от cronjob?

0 голосов
/ 10 августа 2009

У меня возникают некоторые проблемы с функцией 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) из командной строки, все работает как положено.

Есть идеи, где я допустил ошибку?

Спасибо за помощь заранее!

1 Ответ

5 голосов
/ 10 августа 2009

Возможно, вам нужно использовать абсолютный путь к файлу somefile.php. Это, вероятно, создается в pwd cron. Или вы можете сделать chdir в начале сценария в выражении cron.

...