2011-07-01 9 views
1

これは私を少し狂ったようにしています。私は解決策に触れることなく、だから私は今まで何をしてきたのかについていくつかの詳細を忘れるかもしれない。cronでphpを実行しようとしています

私はLinuxサーバーで実行するCronジョブを取得しようとしています。iveはデータセンターで稼働しています。私は実行するために取得しようとしているすべての形式で、単純なPHPスクリプトです:

* * * * * php -q /path/to/script/file.php 

私はそれを手動で入力すると、PHPの一部は細かい動作しますが、ときにcronの実行何も起こりません。エラーなしで、ログ内で正常に動作するように見えます。

私は戻ってのcrontab -eで編集し、[OK]を動作するように思わライン

* * * * * echo "test" > /tmp/test.txt 

に置く場合は、それがテキストファイルを作成します。

誰もこの形式でPHPスクリプトを実行することに問題がありましたか?

(ところで、私はちょうどそれは、いつでも仕事をdoesntの、実行で毎分をテストしています。)

をすべてのヘルプは高く評価されます。

+0

バイナリあなたのphpへの完全なパスを提供する必要があるかもしれないという可能です:) –

+0

笑いやメイトには、感謝の誰もが、残念ながら私ができるだけでそのうちの1人に正しい答えを与え、他の誰にも賞を与えることはできません。しかし皆は道徳的な勝利を持っています。 – user723789

答えて

2

試して呼び出すPHP、それは完全なパスだとそれが実行可能ファイルを見つけられないかもしれないので、例は/ usr/bin/php

のためのcronは、ユーザープロファイルと同じ環境変数を持っていません。

+0

は、「今」の代わりに「しない」と言われたのでしょうか? – jcoder

+0

W00t、それを持っています。あなたの助けをよろしくお願いします。 – user723789

+0

@JohnB:そうです。気づいてくれてありがとう。 – jishi

1

バイナリ(は/ usr/bin/phpまたは類似の)PHPへの完全なパスを配置しようとすると

私も自分のディストリビューションに '-q' フラグを持っていません。それを確認してください。

1

おそらくあなたのPHPバイナリがあなたのPATHにありません。完全なパスを使用してみてください:

* * * * * /path/to/php -q /path/to/script/file.php 
1

はいくつかのパス狂気次のようになります。私はwhich phpを実行し、その後のcronへのフルパスをコピーしたいです。私のボックスのいずれかで、それはあなたが持っているだろう/usr/bin/phpとそうである:

* * * * * /usr/bin/php -q /path/to/script/file.php 

はそれを試してみて、それが助けかどうかを確認します。

0

それはあなたが、私は誰もが約1分で同じ答えを与えたことを愛する

* * * * * /usr/bin/php -q /path/to/script/file.php