PHP ob_ * cronjob mi?

1 Cevap php

Bir cronjob olarak çalıştığında ben ob_* fonksiyonu ile bazı sorunlar yaşıyorum:

<?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 böyle kurgusunda: (her dakika çalışır)

* * * * * /usr/bin/php /path/to/cron.php > /dev/null

Bu durumda hiçbir şey olur ama cron gerçekten koştu.

Ben komut satırı her şeyi (/usr/bin/php /path/to/cron.php) bu çağırırsanız beklendiği gibi çalışmaktadır.

Ben bir hata yaptım herhangi bir fikir?

Yardım ayarlıyoruz için teşekkürler!

1 Cevap

Muhtemelen 'somefile.php' mutlak bir yol kullanmak gerekir. Muhtemelen cron'nun pwd oluşturulur oluyor. Yoksa cron deyimi içinde script başında chdir yapabilirdi.