PHP スクリプトの cron ジョブを実行できません

PHP スクリプトの cron ジョブを実行できません

ローカルホストで cron ジョブを使用して PHP スクリプトを実行したいです。スクリプトは次の場所にあります:

/opt/lampp/htdocs/rrugd/myscript.php

opt は root の下にあるため、root と通常のユーザーの両方に cron ジョブを追加してみましたが、実行されませんでした。これは、2 分ごとに php スクリプトを実行する cron ジョブです。

*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php

私のスクリプトは基本的にデータベースからテーブルを切り捨てることを目的としています。これは実際には真夜中に行われるため、cronジョブの実際の変数は次のように変わります。

00 00 * * * php /path/to/script.php

しかし、テストでは 2 分ごとに使用しました。インターネットや AU で検索しましたが、実行できません。PATH の設定に関連するものを見ましたが、その方法で正確に何を行うのか理解できませんでした。

myscript.phpまた、PHP スクリプトはPHP コマンドを使用して CLI 上で実行されなかったが、ローカルホスト上のブラウザーから実行または呼び出された場合は実行されることを明記したいと思います。

PHP情報:

some@somepc$: php -v
PHP 5.5.3-1ubuntu2.2 (cli) (built: Feb 28 2014 20:06:05) 
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
    with Zend OPcache v7.0.3-dev, Copyright (c) 1999-2013, by Zend Technologies

答え1

そのphp5; cronjob に php を使用する例があります。次の方法で、これらのいずれかを試すことができます。

  • ターミナルで使用するには、をインストールするphp5必要がありますphp5 cli。まず、php5 & cli機能が利用可能かどうかを確認します。そのためには、
ジョハン@ubusrv:~$ php -v
PHP 5.2.4-2ubuntu5.3、Suhosin-Patch 0.9.6.2 (cli) (ビルド: 2008 年 7 月 23 日 06:44:49)
Copyright (c) 1997-2007 PHPグループ Zend Engine v2.2.0、
著作権 (c) 1998-2007 Zend Technologies

このコマンドは、php5 のバージョンと php5 (cli) がインストールされていることを表示します。インストールされていない場合は、次のコマンドを使用してインストールします。

sudo apt-get で php5-cli をインストールします
  • phpインストールしたら、以下のように cronjob にバイナリ パスを追加できます。

使用してphpまたはphp5

*/2 * * * * php /opt/lampp/htdocs/rrugd/myscript.php

使用してphpバイナリパス

*/2 * * * * /usr/local/bin/php /opt/lampp/htdocs/rrugd/myscript.php

以下のコマンドを使用して、php/php5パスは;

johan@ubusrv:~$ どのphp
php は

johan@ubusrv:~/cli$ php はどこにあるか
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz

johan@ubusrv:~/cli$ -a phpと入力
phpは/usr/bin/phpです
  • 他の場所では、URLを使用してPHPスクリプトを呼び出す必要がある場合は、次のようにします。オオヤマネコカールまたはwgetwwwまたはディレクトリ内に PHP スクリプトを配置しpublic_html、cronjob でパスを適切に呼び出していることを確認してください。
*/2 * * * * wget -q http://localhost//myscript.php

詳細: PHP Cron ジョブ: Linux で Crontab を使用して PHP スクリプトを実行する方法

関連情報