質問

それはcronジョブとして実行されたときに、私はob_*機能のいくつかの問題を経験しています:

<?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」上の絶対パスを使用する必要があります。それはおそらくのcronのPWDに作成なっています。それとも、cron文でのスクリプトの先頭でのchdirを行うことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top