문제

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

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top