
ローカルホストで 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スクリプトを呼び出す必要がある場合は、次のようにします。オオヤマネコ、カールまたはwget
www
またはディレクトリ内に PHP スクリプトを配置しpublic_html
、cronjob でパスを適切に呼び出していることを確認してください。
*/2 * * * * wget -q http://localhost//myscript.php