2016-08-04 4 views
1

完了までに1分以上かかるので、私はPHPスクリプトをバックラウンドしようとしています。php exec()Linuxサーバの奇妙な出力

次のように私のexecコマンドは次のとおりです。ファイルのdidntで

exec ('php -f path/to/file.php > path/to/output.log 2>&1 &'); 

すべてのスクリプトの最初は、私はそれはしかし、行うようにプログラム何を、出力ファイルは、まだこの出力をrecieves:

X-Powered-By: PHP/5.6.24 
Expires: Wed, 11 Jan 1984 05:00:00 GMT 
Cache-Control: no-cache, must-revalidate, max-age=0 
Pragma: no-cache 
Content-Type: text/html; charset=UTF-8 
Link: <https://example.com/wp-json/>; 
rel="https://api.w.org/" 
Link: <https://example.com/?p=687>; rel=shortlink 
.... 

この出力は、私のスクリプトが作るはずのものではありません。私には意味がありません。

出力の残りの部分は、私のウェブサイトなどへのdiffernetリンクを持つhtmlドキュメントです。

誰でも私にこのことが起こっている理由を教えてもらえますか?単にスクリプトを実行していないのですか?

ところで

私は私が最初のパス/に/ file.phpを変更した後ということに気づい同じことが

UPDATE

に影響を与えるとは/ usr/bin/phpなどの異なるコマンドを使用していましたパノメーターをぎこちなしにする。すなわち、

exec ('php -f asdfjaskldfj > path/to/output.log 2>&1 &'); 

出力が同じで、何を意味するのかわからないtは必須の試行錯誤の後

+0

シェルスクリプトをバックグラウンドにすると 'shell()'が返って親スクリプトは実行を続けます。つまり、バックグラウンドジョブが完全に独立して実行されている間に、親スクリプトが終了/終了することができます。 –

+0

おっと私は私の質問で間違いを犯しました、私はシェルではなく、shell_execの考えを入力して自分自身を混乱させることを意味しました – electricjelly

+0

スクリプトにはシバンがありますか?一般的なガイドラインとして、1つのchmodを実行可能ファイルに組み込み、/ bin/shに起動させる方が良い場合があります。 –

答えて

0

注目すべきであることを私は

usr/bin/php 

は私の現在のサーバー上のドキュメントを出力するPHPコマンド指さことがわかった、と私は

usr/bin/php5 

にそれを変更したとき出来た。 linuxのphpコマンドに関する文書を見つけるのは非常に難しいですが、私はまだ同じ問題を抱えている誰かを見つける必要がありませんが、それでも解決されています。