web-dev-qa-db-ja.com

WebminでcronジョブとしてURLを呼び出すにはどうすればよいですか?

(おそらくこれはstackoverflowに属しますが、直接実行するとコードが機能するため、実際にはプログラミングの問題ではありません。移動する必要がある場合は問題ありません。)

スケジュールに基づいて実行する必要があるPHPファイル(SOAP経由でNational Weather Service Webサービスを利用する場合)があります。 Webminでcronジョブを設定しようとしています。 [コマンド]フィールドでファイルへの絶対パスを使用すると、実行時に奇妙なエラーが発生します。

/var/www/html/mysite.com/test/ndfdXMLclient.php: line 1: ?php: No such file or directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 2: //: is a directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 3: //DOCUMENTATION: No such file or directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 4: //: is a directory
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 5: syntax error near unexpected token `"running client code",'
/var/www/html/mysite.com/test/ndfdXMLclient.php: line 5: `error_log("running client code", 1, "[email protected]");'

これらの5行のファイル内の実際のコードは次のようになります。

<?php
//  ***************************************************************************
//DOCUMENTATION FROM WEATHER.GOV ALL STORED IN xmlClientComments.txt
//  ***************************************************************************
error_log("running client code", 1, "[email protected]");

ブラウザで直接実行すると、コードは完全に正常に実行されますが、webminがコードとして認識しないのはなぜですか? (コマンドフィールドに実際のURLを入力すると、同じことが起こります- http://mysite.com/test/ndfdXMLclient.php 。)

以前、webminで作業したことはありません。ホストのほとんどのcronコントロールパネルでは、cronジョブでこのようなPHPファイルを問題なく実行できます。 webminにphpを実際のphpとして読み込ませる方法はありますか?

2
EmmyS

おそらくスクリプトの先頭にhashbangを追加して、スクリプトが歳差運動するためにサーバーがPHPを見つける場所を知る必要があるでしょう。

PHP実行可能ファイルへのパスがサーバーに対して正しいことを確認してください。

#!/usr/bin/php -q
<?php
//  ***************************************************************************
//DOCUMENTATION FROM WEATHER.GOV ALL STORED IN xmlClientComments.txt
//  ***************************************************************************
error_log("running client code", 1, "[email protected]");
2
John Conde