2011-02-02 29 views
0

私はCronelでCronを使って自分のウェブサイトでPHPスクリプトを実行しようとしています。Cronでコマンドを実行中にエラーが発生しました

しかし、私は常に電子メールで送信エラーが出る:

使用時:php http://mysubdomaine.mysite.com/job/job.phpを。使用

404 Not Found 
X-Powered-By: PHP/5.2.14 
Content-type: text/html 
No input file specified 

私はこのエラーが出る/usr/local/bin/php -f http://mysubdomaine.mysite.com/job/job.php

私はこれを取得:

Could not open input file: http://mysubdomaine.mysite.com/job/job.php 

しかし、PHPファイルhttp://mysubdomaine.mysite.com/job/job.phpは私のウェブサイトに存在する、と私はブラウザにパスを入力すると、スクリプトが実行されます。

私はwgetでも試しましたが、常にエラーがあります。

何が問題なのですか?

ありがとうございました。

+0

あなたはwgetで適切な軌道に乗っていました。これはphpコマンドとは異なり、URLが必要です。どのような誤りがあなたに与えるのですか? – profitphp

+0

'wget http:// mysubdomaine.mysite.ch/job/job.php'を使用します。私はこの '/ bin/sh:/ usr/bin/wget:Permission denied'を受け取ります。 – VisaMasterCard

+0

あなたのcronはこれをあなたの下で実行していますか? wgetは、要求されたURLをデフォルトでファイルに保存しようとします。そのため、許可エラーが何であるかについては、-O/dev/nullスイッチで実行して、出力をゴミ箱に送ります。 – profitphp

答えて

2

を使用してPHPスクリプトを実行します。 /var/www/yoursite.com/html/index.php

$ _SERVER変数を調べることで、実際のパスを把握することができます。スクリプトの先頭に置く

echo $_SERVER['SCRIPT_FILENAME']; 

ブラウザからヒットし、コマンドラインで渡す必要のある情報が表示されます。スクリプトのフルパスとファイル名が表示されます。

+0

これでエラーは返されませんが、スクリプトは実行されません。 – VisaMasterCard

+0

どのようにその実行されていない知っていますか?おそらく実行中で、目的のアクションを正常に完了していません。 httpサーバーのエラーログを確認します。 – profitphp

+0

スクリプトがファイルを開き、 "Hello world"という行を追加してファイルを閉じるためです。しかし、実行後にHello Worldの行が表示されません。 – VisaMasterCard

0

は、あなたはそれがファイルパスを望んでいる、コマンドラインからPHPへのURLを渡すカントのローカルファイルパス

/usr/local/bin/php -f /path/to/your/script 
0

php -f myscriptbehindapacheを本当に行いますか?

あなたは本当にしたいと思うかもしれませんwget myscriptbehindapache

関連する問題