ホームページ  >  記事  >  php教程  >  Linux自動実行スクリプトとしてphpを使用する

Linux自動実行スクリプトとしてphpを使用する

高洛峰
高洛峰オリジナル
2016-12-02 10:45:461486ブラウズ

最近、PHP を使用してコミュニティを構築しています。オンラインの最大人数の計算について書いたとき、PHP をサーバー上で直接実行するためのシェル スクリプトとして正常にデバッグできました。オンラインの人数やその他のデータをカウントする一般的な方法は、このコードをユーザーのログインまたは特定のページに配置して、ユーザーがログインまたはページにアクセスしたときにコードが実行されるようにすることです。コードが複雑な場合、通常の呼び出し速度が大幅に低下します。

PHP のこの機能を使用して、Linux の crontab コマンドを追加すると、特定の PHP ファイルを自動的に実行できます (オンラインの人数をカウントします)。など) を定期的に実行します。

具体的な方法:
PHP をインストールすると、php という名前の実行可能ファイルが作成されます。それを /usr/local/bin にコピーします。

ターミナル モードで php プログラムを実行します。 onlinnum.php
PHP は元々 Web ページで使用されていたことに注意してください。アプリケーションでは、デフォルトで HTML ヘッダーが送信されます。しかし、ここでは PHP をシェル スクリプトとして使用したいのでしょうか? 「-q」は、ヘッダーを送信しないことを意味します。 -q を付けずに表示結果を試してください。

この時点で、すでにターミナル モードで PHP コードを実行できます。笑、前に書いたコードを実行してみてください。

Linux コマンド: cron デーモン
これはシステムに常駐するサービスであり、その機能は実行することです。例 1 日に 1 回または月に 1 回ディスクをチェックするなど、継続的なタスクを実行します。 cron デーモンは、スケジュールされた作業リスト (crontab) を毎分チェックして、実行すべき命令があるかどうかを確認し、すべての出力がメールでユーザーに送信されます。

crontab を設定します
コマンド: crontab -e
このコマンドは、vi エディターを呼び出して、実行されたリストを編集します。例:
、以空格间隔、由左到右依序如下:
栏位 说明
--------------------------
分钟 从00から99
0から24まで
01から12まで
01から07まで 月曜日から日曜日を意味します
*は「それぞれ」を示します 毎日実行する場合は、3列目を記入します*上記の例の 2 つのタスクは次のとおりです:
月次の 1 回目と 15 回目のチェック/ホーム ディスク
各時間の最初の実行/Home/Gull/onlineNumber

Crontab の表示: Crontab -L ​​& LT;
crontab の削除: crontab -r

はは、この時点で、PHP と crontab コマンドを使用してオンラインの人数を数える方法を知っているはずですよね?

注:
phpでOracleなどのデータベースを使用している場合、Oracleの環境設定を実行スクリプト内でエクスポートする必要があります。 cron で実行されるスクリプトはログインしていないユーザーによって実行されるため、システムに設定されている環境変数の値の多くが欠落しており、データベースへの接続時に問題が発生する可能性があります。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。