ホームページ バックエンド開発 PHPチュートリアル php7 の使用エクスペリエンスをグラフィックとテキストで詳細に説明: 大幅に向上したパフォーマンス、強力な互換性、不十分な拡張機能サポート

php7 の使用エクスペリエンスをグラフィックとテキストで詳細に説明: 大幅に向上したパフォーマンス、強力な互換性、不十分な拡張機能サポート

Jul 27, 2017 pm 02:55 PM
php php7

この記事は、PHP 7 のインストールと使用体験のパフォーマンスの向上、強力な互換性、不十分な拡張サポートを主に紹介します (PHP をアップグレードする場合は注意してください)。必要な友人は参考にすることができます。 PHP について PHP 7 のリリースにより、最近では PHP 7 のパフォーマンスと互換性が大きな話題になっており、多くの人々が PHP 7 のパフォーマンスの高さからすでに PHP を導入しています。 7 実稼働環境へ。同時に、LNMP などの人気アプリケーションもタイムリーにアップデートされ、PHP 7 のサポートが開始されています。

PHP のパフォーマンスの問題に関して言えば、以前に共有した HHVM について言及する必要があります。これは、PHP のパフォーマンスを向上させるために Facebook によって開発されたツールで、PHP コードを特定の形式に変換します。セクションコード。実際のテスト プロセス中、HHVM は PHP のパフォーマンスを向上させる上での質的な飛躍をもたらしました。効率的な PHP 実行環境により、PHP のパフォーマンスは 9 倍以上向上しました。

近年、PHP はパフォーマンスのボトルネックとして広く批判されており、HHVM の完璧なパフォーマンスは PHP の開発にとって非常に有害です。 PHP 7 は、PHP コミュニティによる HHVM への対応であり、PHP 7 の正式リリース バージョンでは、PHP のパフォーマンスが大幅に向上しています。実際のテストでは、PHP 7 のパフォーマンスが HHVM のパフォーマンスを上回る場合があります。

この記事では、PHP 7 のインストールと使用体験をお届けします。PHP 7 のパフォーマンスを熱心に体験したい友人は、PHP 7 を正式にアップグレードする前に、さらにいくつかのプログラムの互換性テストを行うのが最善です、と公式は述べています。は下位互換性は 99% ですが、念のため実稼働環境に適用する場合は注意が必要です。

PHP 7 のインストールと使用エクスペリエンス: 大幅に向上したパフォーマンス、強力な互換性、不十分な拡張サポート。PHP をアップグレードするときは注意してください

PHP 7 と比較して、PHP 7 の高いパフォーマンスを活用するためのいくつかの重要なポイント。以前の PHP PHP 7 の性能は質的に飛躍したと言えますが、「良い馬には良い鞍があり、良い車には帆が付いている」という諺があるように、 PHP 7 のパフォーマンス上の利点を活用するには、次の点で準備する必要があります: (このセクションは、PHP7 のコア開発者であり、Yaf、Yar、Yac およびその他のプロジェクトの作者である Laruence の言葉を引用しています)。

1. Zend Opcache を有効にすることは非常に簡単です:

zend_extension=opcache.so
opcache.enable=1
opcache.enable_cli=1"
ログイン後にコピー

2. 新しいコンパイラーを使用するには、GCC 4.8 以降のみが使用できるため、それを使用することをお勧めします。 opline およびexecute_data のグローバル レジスタのサポートは PHP 7 でのみ有効になり、パフォーマンスが 5% 向上します。

3. HugePage を有効にすると、PHP 7 が高速になります。まず、システムで HugePages を有効にしてから、CentOS 6.5 の huge_code_pages を有効にします。 $sudo sysctl vm.nr_hugepages=512, assign 512 予約された巨大なページ メモリ:


$ cat /proc/meminfo | grep Huge
AnonHugePages:  106496 kB
HugePages_Total:   512
HugePages_Free:   504
HugePages_Rsvd:    27
HugePages_Surp:    0
Hugepagesize:    2048 kB
ログイン後にコピー

次に、opcache.huge_code_pages=1 を php.ini に追加します。このようにして、PHP は独自のテキスト セグメントに大きなメモリ ページを使用し、メモリ割り当てを削減します。 TLB がミスするため、パフォーマンスが向上します。

4. Opcache ファイル キャッシュをオンにする (実験的)。これをオンにすると、一部のスクリプトでは、Opcache が外部ファイルにキャッシュすることができ、明らかにパフォーマンスが向上します。方法は、opcache.file_cache=/tmp を php.ini に追加することです。このようにして、PHP は一部の Opcode バイナリ エクスポート ファイルを /tmp ディレクトリにキャッシュします。これは、PHP のライフサイクル全体にわたって存在する可能性があります。 PHP が WordPress や Drupal などのプロジェクトに特化して設計されている場合は、PGO を使用して PHP を改善し、特にプロジェクトのパフォーマンスを向上させることができます。具体的には、WordPress 4.1 を最適化シナリオとして取り上げます。まず、PHP をコンパイルするときに次のようにします。 $ make prof-gen.

6. 次に、プロジェクトを使用して PHP をトレーニングします (たとえば、WordPress の場合):$ sapi/cgi/php-cgi -T 100 /home/huixinchen/local/www/htdocs/wordpress/index.php >/dev/ null、つまり、php-cgi に WordPress ホームページを 100 回実行させ、その過程でプロファイル情報を生成します。最後に:


$ make prof-clean
$ make prof-use && make install
ログイン後にコピー

7. この時点でコンパイルする PHP7 は、プロジェクトに合わせて調整された最高パフォーマンスのコンパイル済みバージョンです。

2. PHP 7 のインストールとコンパイル


1. PHP 7 公式 Web サイト:

2. 強力な実践スキルを持つ友人は、公式 Web サイトから PHP 7 を直接ダウンロードし、手動で編集してインストールできます。それ。 lnmp.org Web マスターの LNMP ワンクリック インストール パッケージの使用に慣れている場合は、php7 サポートが追加された LNMP 1.3 ベータ バージョンのリリースを試すことができます。これは、Web サイトを LNMP または LAMP Web サイト構築にスムーズに移行するための方法です。環境。

3. OneinStack が提供する LNMP インストール パッケージには、すでに PHP 7 のワンクリック インストールが含まれています。スクリプトを実行するときに、PHP 7 のインストールを選択できるのは、現在インストールできる公式の Zend Opcache 拡張機能のみです。

4. OneinStack は PHP 7 を正常にインストールしました。

5. PHP 7の情報表示です。

6. これは、OneinStack が提供する PHP 7 用の Opcache コントロール パネルです。

3. PHP 7 と古いバージョンの PHP および HHVM のパフォーマンス比較

1。これは、WordPress や Drupal などの人気のあるプログラムで海外の開発者によってテストされた PHP 7 と PHP 5.6 のパフォーマンスです。 PHP 7 のパフォーマンスが大幅に向上していることは明らかです。

2. WordPress などのプログラムの場合、PHP 7 は個々の実行速度を向上させるだけでなく、PHP 7 で WordPress を長時間実行するほどパフォーマンスも向上します。

3. 前述したように、PHP 7 の PHP のパフォーマンス向上は、いくつかの点で HHVM を上回っています。これは、外国の zend.com 公式 Web サイトによる、さまざまなプログラムでの PHP 5.6、PHP 7、および HHVM のパフォーマンス向上です。 . 実行効率の比較結果。

4. プロフェッショナルなオープンソース電子商取引システム Magento での PHP 5.6、PHP 7、および HHVM の実行効率をテストします。PHP 7 は PHP 5.6 の 2 倍高速で、メモリ使用量は PHP 5.6 より 30% 低くなります。

5. Drupal 8 でテストされた PHP 7 の効率は、HHVM を超えて最速です。

6. WordPress のテスト中に、PHP 5.6 の実行には 100MB のメモリが必要であるのに対し、PHP 7 では 25MB しか必要ないことが判明しました。

7. さまざまなプログラムの実行速度という点では、PHP 7 は明らかに PHP 7 よりも優れています。

4. PHP 7のパフォーマンステスト結果レポート

1. 証拠はありませんが、PHP 7の実行プログラムのパフォーマンスはどのくらいですか?ここで、部族はテスト オブジェクトとして新しい WordPress を使用しています。PHP 7 で実行した WordPress ホームページの読み込み時間テストでは 0.029 秒、メモリは 3.39 MB でした。

2. これは、PHP 5.6 を実行している同じ WordPress ページのページ読み込み時間: 1.955 秒、占有メモリは 3.92MB です。データの観点から見ると、PHP 7 は PHP 5.6 を完全に破りました。

3. WordPress を実行する PHP 7 の効率は、以前のバージョンと比較して実際に向上しました。PHP 7 のパフォーマンスを完全に理解するために、ここでは Webbench を使用して、Web サイトサーバーの方法に従って 10 秒間のシミュレーションを行います。圧力 Web パフォーマンス テスト。接続数が 200 および 400 の場合、速度は 8000 ページ/分を超えます。

4. この時点で、VPSサーバーのシステム負荷は3.49です。

5. シミュレートされた接続の数を 1600 に増やしても、速度は 8000 ページ/分を超えます。

6. 現時点では、VPS サーバーのシステム負荷は 17 なので、少し厳しいはずです。

7. シミュレートされた接続の数を 5000 に増やすと、速度は 4800 ページ/分になり、速度が低下し始めます。

8. 現時点で、VPS サーバーのシステム負荷は 23 で、サーバーは過負荷になっています。

9. この VPS ホストで PHP 7 の耐久性の制限をテストするために、Webbench は 20 秒間でサーバーに連続的にアクセスする 10,000 の接続をシミュレートしました。

10. この時点で、VPSサーバーのシステム負荷は90近くあり、限界に達しているはずですが、それでもサーバーはクラッシュしません。

11. 次に、同じ構成の VPS ホスト上で WordPress を実行した場合のストレス テストの結果を見てみましょう。最初に、Webbench を使用して 10 秒間で 200 接続と 400 ページの接続をシミュレートしました。 /分、これは比較的遅いです。上記の PHP 7 テストは半分の速度です。

12. これは、200 接続と 400 接続をテストした PHP 5.6 のシステム負荷であり、PHP 7 環境でテストされた 3.49 を明らかに超えています。

13. PHP 5.6 テストでは、シミュレートされた接続の数が 1000 と 2000 に増加しました。この時点で、速度は 1600 ページ/分に低下し、成功した接続の数も 2000 ページに減少しました。これは、PHP 7 でのテストよりもはるかに低い約 500 時間です。2700 時間。

14. 現時点で、システム負荷は 17 に達しています。

15. Webbench を使用して、PHP 5.6 での接続数を 10,000 までテストし、20 秒以内にサーバーに連続してアクセスします。この時点で、テストは結果が出ずに停止しています。

16. こちらのVPSサーバーのシステム負荷が1,000を超え、サーバーがクラッシュしました。

17. PHP 5.6 の WordPress ウェブサイトがダウンしました。

5. PHP 7 の互換性の問題

1. 現在、国内の Discuz などは PHP 7 をサポートしていません。その他の PHP 拡張機能には、公式の Opcache のみが使用できます。拡張サポート リストには常に注意を払うことができます:

2. テスト後、PHP 7 は問題なく WordPress を実行します。

3. PHP 7 に WordPress プラグインをインストールするのは問題ありません。

4. PHP 7 には一部の関数、演算子などに非互換性の問題がある可能性がありますが、99% のプログラムはこれらを使用しない可能性があります。

VI. PHP 7 のインストールと使用体験の概要

1. PHP 7 を使用して驚いたことは、HHVM は実機に依存しているため、海外の開発者によってテストされたように、PHP 7 のパフォーマンスは基本的に HHVM と同じであるということです。 -time (Just In Time) コンパイラは PHP コードを機械語命令にコンパイルするため、HHVM 上で実行する場合は多くの PHP プログラムを改善する必要があります。

2. PHP 7 は、HHVM の超高性能と PHP の下位互換性の利点を備えており、近い将来、より多くの人に認知され、受け入れられるようになると思います。現在、PHP 7 をサポートするキャッシュ、アクセラレーション、その他の拡張機能はそれほど多くありませんが、ますます多くの開発者が PHP 7 開発の仲間入りをするようになるのは時間の問題です。

以上がphp7 の使用エクスペリエンスをグラフィックとテキストで詳細に説明: 大幅に向上したパフォーマンス、強力な互換性、不十分な拡張機能サポートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 PHP 開発用に Visual Studio Code (VS Code) をセットアップする方法 Dec 20, 2024 am 11:31 AM

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

今まで知らなかったことを後悔している 7 つの PHP 関数 今まで知らなかったことを後悔している 7 つの PHP 関数 Nov 13, 2024 am 09:42 AM

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

PHPでHTML/XMLを解析および処理するにはどうすればよいですか? PHPでHTML/XMLを解析および処理するにはどうすればよいですか? Feb 07, 2025 am 11:57 AM

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

母音を文字列にカウントするPHPプログラム 母音を文字列にカウントするPHPプログラム Feb 07, 2025 pm 12:12 PM

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

PHPでの後期静的結合を説明します(静的::)。 PHPでの後期静的結合を説明します(静的::)。 Apr 03, 2025 am 12:04 AM

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

See all articles