PHPスクリプトを実行するためのcronjobの作成

PHPスクリプトを実行するためのcronjobの作成

5分ごとにPHPスクリプトを実行するためにXubuntuでcronjobを作成しました。私がやった方法は次のとおりです。

次のコマンドを入力しました。

$ crontab -e

次に、次のように入力します。

*/5 * * * * /usr/bin/php /var/www/pgrouting/workshop/web/php/calculation.php

用途が何であるかわかりません/usr/bin/php。ディレクトリにそのファイルはありませんが、binPHPスクリプトを実行できませんか?

答え1

「問題」は、通常、PHPがWebサーバー上でモジュールとして実行されるように設計されていることです。コマンドラインからPHPスクリプトを実行するには、まずコマンドラインバージョンのPHPをインストールする必要があります。

apt-get install php5-cli

/usr/bin/phpはPHPバイナリを配置するデフォルトの場所ですが、ソースからPHPをコンパイルする場合は別の場所にある可能性があります。

通常、PHPスクリプトはシェルスクリプトとしてフォーマットされていないため、PHPスクリプトを実行するためにどのインタプリタを使用する必要があるかをcronに通知する必要があります。これがコマンドラインが使用される理由です/usr/bin/php /var/www/pgrouting/workshop/web/php/calculation.php

Shebangを使用してスクリプトをフォーマットして実行可能にし(chmod +x script.php)、PHPをインタプリタとして指定せずに(たとえば./script.php)コマンドラインから直接呼び出すことができます。

#!/usr/bin/php
<?php
  print "Hello world!\n" ;
?>

答え2

代わりにWGETを試してください。

*/5 * * * * wget http://ip-address-or-domain-to-your-script/calculation.php

関連情報