2016-10-02 3 views
0

私は1つの例外を除いて動作するPHPスクリプトを実行しているcronジョブを持っています。スクリプトのタスクは、特定のフォルダまたはそのサブフォルダに特定の種類のファイルがある場合、ファイルを取得して複製することです。Cronスクリプト、スクリプトのファイルを見つけることができませんでした

もし私が私のブラウザにcronjobを入れたいと思っているスクリプトに行くと、スクリプトは期待どおり動作しますが、cronjobが動いても動作しません。しかし私が複製しようとしているファイル)

私はどのタイプのパスを私がcronjobと一緒に使用するのですか?

現在のフォルダ構造が./sub_folder/sub_folder/FileName.extが真

ランニングをスローするようにパスを使用してfile_exists()ブラウザでテスト /public_html/cron.php /public_html/sub_folder/sub_folder/FileName.ext

ですクロンを通してそれは偽を投げます。私はどのタイプのパスを使用すべきか、どのレベルのサーバーを使用すべきか疑問に思っていますか?

+2

ジャスト/から始まる、サーバーのルートからの完全なファイルシステムパスを使用する - それが最も簡単な方法です。それ以外の場合は、include_path設定を考慮する必要があります。これは、CLIを使用してスクリプトをcronとして実行すると、異なるphp.iniファイルを使用するために異なる場合があります。 – CBroe

+0

重複:http://stackoverflow.com/questions/1969374/relative-path-not-working-in-cron-php-script – JazzCat

+1

'__DIR__'はこのような状況で本当に役に立ちます – nogad

答えて

0

代わり

$path = './sub_folder/sub_folder/FileName.ext'; 

使用

$path = __DIR__.'/sub_folder/sub_folder/FileName.ext'; 
関連する問題