ホームページ  >  記事  >  类库下载  >  PHP コマンドライン プログラムの作成に関する最近の経験

PHP コマンドライン プログラムの作成に関する最近の経験

高洛峰
高洛峰オリジナル
2016-10-14 10:16:581269ブラウズ

php、php、はい、まだ php 関連の記事を 4 つ書きました (>、>、>、>) でも、まだ足りないと感じていて、まだ使いたいと思っています。半年間の php の作成経験をまとめました。復習の過程で、私自身も昇華され、改善されたことを願っています。
自分が書いたものを簡単に復習してください。
1. php プログラム自体を実行します。
PHP、「自分で実行する」とは、PHP をバイナリ コードにコンパイルして実行可能権限を与えることを意味するものではありません。PHP にファイル ヘッダー #!/usr/bin/php を追加し、chmod を通じてファイルに実行権限を与えることを意味します。毎回実行する必要がないように、ファイルの前に php を追加します。詳細については、> を参照してください。 2. プログラムが現在占有しているターミナルを放棄します。プログラムの実行に時間がかかる場合、または単に実行を継続したい場合は、前にプログラムをバックグラウンドに置くために、実行時に最後に & を追加してバックグラウンドで実行します。ただし、これらのメソッドは常に非常に厄介に感じられます。詳細については、
>.
3 を参照してください。データを手動で入力するだけでなく、他の人からデータを受け取ることもできます。 Linux の世界では、他の小さなプログラムと一緒にミッションを完了できることは大変光栄なことです。詳細については、次を参照してください。 >
「過去を振り返り、新しいことを学ぶことができる。」という言葉があります。過去を振り返り、新しいことを学びましょう。しばらくすると、新しいことを何も知らなかったことに気づきました。新しいもの:) 個人的には、現在の PHP スクリプト技術は非常に成熟していて完成しており、学習と使用が簡単で、簡単に始めることができると感じています。PHP を使用するときは、コマンド ライン スクリプトを作成するときに主に使用します。バックグラウンド サービスとコマンド ライン プログラムの 2 つの方向で実行されます。バックグラウンド サービスはサーバー側で実行され、メモリ内に常駐する必要があるため、コードの最適化には特別な注意を払う必要があります。コマンド ライン プログラムでは、一部の機能を直接適用できます。バックグラウンド サービス、わかりました。練習を始めましょう:
メモリの最初の点、プログラムは長時間実行する必要があり、しばらくの間 (0) にしか配置できないようです。このメソッドを使用する準備をする前に、インターネットで多くの情報を読みましたが、このメソッドには何を使用すればよいでしょうか? それは 5.3 以降の機能であり、現在はサーバーの安定性が重視されているので、ほとんどの人が 5.2 バージョンを使用していますか?コード内を飛び回るような命令を敢えて使用する必要がありますか? 結局のところ、1 か月以上テスト サーバーを実行してきましたが、非常に優れた効果を感じています。永続メモリに関して言えば、PHP にはメモリの再利用メカニズムがありません。ただし、C のようにメモリを割り当ててクリーンアップする必要はありませんが、お金を払ったほうがよいでしょう。したがって、メモリの使用に関して、作者は、関数内のメモリに関係なく、メモリが使い果たされたらメイン プログラムのメモリを設定解除するという原則を遵守します。変数名の重複を避けることもできます。予期せぬ影響をもたらします (もちろん、PHP には同じ名前の変数があるように見えますが、後から指定した変数が有効になりますが、良い習慣を身に付けることが重要です:)) 3.出力を無効にしますが、Linuxの世界には2つのタイプの出力があるため、1つはコードがどれほどよく書かれていても、通常の出力です。次に、エラー出力が表示されます。例: mysql_connect です。ほとんどの場合、成功と失敗の 2 つの結果が得られます。人々はそれを当然のことと考えていますが、この関数は間違いなく成功します。そのため、エラーが発生したときに、この Web ページは問題ありません、というメッセージが表示されることがよくあります。失敗しました。個人が配置されると成功する可能性がありますが、これらのエラーを処理しない場合、プログラムは単に終了します。したがって、プログラムの堅牢性を確保するためには、それを抑制する方法を知っておく必要があります。さらに、すべてを総合的に考慮することは、人間の成熟の兆候でもあります:)
完全なバックグラウンド プログラム、「Kill​​ -9 PID 」などの暴力的な方法でどのように緩和できるでしょうか? PHP には、完璧な信号ソリューションです。プログラムで Start、Stop、RESTART、Status、Status をサポートしましょう。これは単なるランダムなものです。
5. 操作ログ
バックグラウンドプログラムの場合、出力が無効になっている場合は、起動から実行中、終了までの詳細な記録が必要です。ログは起動と実行だけです。レコード、そして起動レコードと実行レコードがあり、これはイライラします。後で、プログラムがいつ終了したかを知ることができます:) ログを書いているときに、非常に優れた関数 file_put_contents を見つけました。この場合、彼女は追加をサポートしています。 「tail -f log name」を使用すると、リアルタイムで実行ステータスを確認できます:)
コマンドラインプログラム:
6. Echo もクレイジーです
php のベストプラクティスで言及されています: echo には戻り値がないので、その方が良いですエコー後の複数の文をカンマで区切ることができるので、大量のテキストを処理してファイルに書き出す場合に入力効率が大幅に向上します。前回は、接続文字列に時間を無駄にしたくないので、これらを '.' なしで接続できればいいのにと思ったのですが、ob_start でそれができると知ってうれしい驚きでした。 ! 例:
ob_start; echo xxx , XXX, XXXX;
非常に黄色くて激しいです。とても落ち込んでいます多くの人は Linux システムを中国語版にインストールできますが (インストール言語が中国語であるため)、時刻がニューヨーク時間に変更されます (中国の西 8 区は東 8 区です)。したがって、プログラマーとして、すべてを期待しないでください。プログラムに問題が発生しないようにするには、ログを書き込んだり時刻を出力したりするときに自分でタイムゾーンを定義するのが最善です: date_default_timezone_set('PRC') :)

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

関連記事

続きを見る