ホームページ バックエンド開発 PHPチュートリアル 素晴らしい PHP 7、あなたもそれを手にする価値があります

素晴らしい PHP 7、あなたもそれを手にする価値があります

Jun 23, 2016 pm 01:32 PM

2015 年の夏は暑くありませんが、インターネット技術の夏は他のどの年よりも暑いです。
5 月末に NetEase、Alipay、Ctrip および多くのクラウド ストレージ メーカーが相次いで失敗したという悪いニュースが終わったばかりですが、6 月初めにプログラミング言語の世界に 2 つの良いニュースがもたらされました。 Swift 2.0 とそのオープンソースのリリース もう 1 つは、PHP 7 アルファ版が正式にリリースされたことです。これら 2 つの主要なイベントは、対応するプログラミング言語で記録できる歴史的なイベントです。

この記事の焦点は、Niao Ge と他の偉大なマスターによって 2 年間磨き上げられた PHP 7 を皆さんに見ていただき、それが本当に前述したほど横暴であるかどうかを確認することです。前に。既存のソフトウェアと拡張機能の互換性もテストします。

PHP7 のインストールには下位互換性があり、ダウンロードして解凍し、以前の設定コマンドを使用して、何の抵抗もなく Enter キーを押し続けます。既存の環境の動作に影響を与えないように、すべてのディレクトリが特別に開かれています。
設定パラメータは次のとおりです:

<br />    --prefix=/usr/local/php7    --with-config-file-path=/usr/local/php7/etc --enable-fpm        --with-fpm-user=www --with-fpm-group=www --with-mysqli    --with-pdo-mysql --with-iconv-dir --with-freetype-dir    --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr    --enable-xml --disable-rpath --enable-bcmath --enable-shmop    --enable-sysvsem --enable-inline-optimization --with-curl    --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp    --with-gd --enable-gd-native-ttf --with-openssl --with-mhash    --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip    --enable-soap --without-pear --with-gettext --disable-fileinfo    --enable-maintainer-zts
ログイン後にコピー

インストール後、ソフトリンクを作成します:

<br />    ln -s /usr/local/php7/bin/php /usr/bin/php7    ln -s /usr/local/php7/bin/php-config /usr/bin/php7-config ln -s /usr/local/php7/bin/phpize /usr/bin/php7ize    ln -s /usr/local/php7/sbin/php-fpm /usr/sbin/php7-fpm
ログイン後にコピー

php7 -v おなじみのプロンプトが表示されます:
<br />    [root@localhost test]# php7 -v    PHP 7.0.0alpha1 (cli) (built: Jun 13 2015 11:33:39)     Copyright (c) 1997-2015 The PHP Group    Zend Engine v3.0.0-dev, Copyright (c) 1998-2015 Zend Technologies
ログイン後にコピー

最初に行うことはパフォーマンス評価とCapital Online Cloud Host、4 コア CPU Intel(R) Xeon(R) CPU E5-2680 0 @ 2.70GHz、メモリ 4G、オペレーティング システム Centos 6.5。

私は 3 つのプログラムをランダムに書きました:

最初の段落では、600,000 要素の配列を生成し、キーを検索することでキーが存在するかどうかを判断します。

すごいですね
まずは PHP バージョン 5.3.17 です。
うわー
2つ目はPHP7のバージョンです。
すごいです

起動するとすぐに、PHP7 で実行すると、応答時間が元の 1/4 に短縮されました。本当にすごい!
その後、さらに 2 つ試行する必要があります。2 番目の段落は上記と同じですが、処理が遅いため、値を見つけるのに 60,000 個の要素の配列が必要になります。
コードは次のとおりです:

<br />    <?php    $a = array();    for($i=0;$i<600000;$i++){        $a[$i] = $i;        }    foreach($a as $i)    {        array_key_exists($i, $a);    }
ログイン後にコピー

待ち時間は常に 3 つのテストで 75 秒以上かかりました。次に、PHP 7 が登場します。
すごい

くそー、何かあるのか!速度は約7倍に向上しました。
著者の興奮は言葉では言い表すことができず、比較的効率的な素数アルゴリズムを作成しました。 2,000,000 以内の素数の数を計算します
今回は PHP7 から始めます。

<br />    [root@localhost test]# time php search_by_key.php     real    0m0.389s    user    0m0.337s    sys     0m0.051s    [root@localhost test]# time php search_by_key.php     real    0m0.378s    user    0m0.308s    sys     0m0.062s    [root@localhost test]# time php search_by_key.php     real    0m0.378s    user    0m0.317s    sys     0m0.061s
ログイン後にコピー

速度は1.2Sで安定しています
PHP 5.3に関しては、今回は前回よりも差は小さくなりましたが、PHP7も3~4倍の速度になっています。

すごいです

この時点で、問題は基本的に説明できます。これらのコードは複雑な関数ライブラリを使用しておらず、大量のネットワークと IO も必要としませんが、パフォーマンスは少なくとも 3 倍最適化されています。これは本当に歴史的な進歩です。これまでのパフォーマンス評価では、言語レベルのパフォーマンスが無視されることがよくありました。なぜこのように言えるのでしょうか? たとえば、XHProf には、組み込み関数や内部関数などを分析しないために使用される特別なオプションがあります。配列、日付などの関数。誰もがこの分野の改善の余地を見逃しがちであり、もちろん、普通の人がこの分野を改善することはできないため、HHVM が作成され、今日の PHP 7 に影響を与えました。

素数を見つけるためのアルゴリズムを取得したい場合は、Youcai.com の公開アカウントをフォローし、キーワード「素数」を入力して取得してください。

一連のテストの後、作者は PHP 7 についてもっと学ぶことに興味を持ちました。拡張機能といくつかの一般的なフレームワークがどのようにサポートされるかを確認したかったので、次の 4 つのテストを作成しました。

まず第一に、XHProf は、パフォーマンスの最適化に重点を置いているアーキテクトとして、PHP 7 が登場し、XHProf がなくなることはありません。まだ 2013 年です。github からコピーをダウンロードする必要がありました。その結果、phpize はまだ問題なく、

configure はまだ問題なく、

make は問題ありませんでしたが、基礎となるデータ構造が悲惨なものになったようです。バード兄弟のアップグレードを楽しみにしています。

XHProfが使えないので、クラウドのXHProf OneAPMは使えますか?最近ではOneAPMが使われることが多くなってきていますが、自分でコードを埋め込んだり、余計な設定をする必要はありません。インストールの結果も悲惨です。解決できない場合は、ブラザー ニアオを PHP の技術コンサルタントとして雇ってください。すぐに解決できると思います。

拡張機能に関しては、よく使われる 2 つのものを紹介します。Web サイトは統一されていますが、それは世界中の誰もが知っています。もう 1 つは ThinkPHP です。これは中国で最も広く使用されている PHP 開発フレームワークであり、そのうちの 1 つではありません。筆者もTPのファンです。

これら 2 つのソフトウェアの優れた機能を賞賛すべきでしょうか? PHP 7 の互換性の良さを賞賛すべきでしょうか。それはわかりませんが、最初は正常でした。

PHP 7 が FastCGI バックエンドとして使用されている場合、Wordpress バックエンドは正常に実行されます。


ThinkPHP 最新バージョン 3.2.3 は PHP 7 で正常に動作します。

そうですね、週末の午後を PHP 7 をいじって過ごした後、私は PHP 7 のファンになりました。また、私たちの大規模な PHP が今後も中国のインターネット技術業界を席巻し、PHP 技術者はさらに優れたものになるだろうと考えました。もっと見る 欠品のため。また、より多くの PHP 技術者が言語と文法を学ぶだけでなく、より高いレベルに立って、ホワイトボックスの運用と保守を行い、パフォーマンスの最適化に重点を置き、フルスタックエンジニアになり、高給を獲得し、白人と結婚することを期待しています。 . 豊かに美しく、人生の理想を実現します。

OneAPM へのサポートと関心を寄せてくださった Youcai.com の友人に感謝します。 PHP 7 がリリースされた日に、OneAPM はすぐに PHP 7 をできるだけ早くサポートするためのバージョン アップデートを開始しました。正式バージョンは間もなく皆さんに提供されると思います。パフォーマンスの最適化とエラー監視のために、皆様が今後も OneAPM をサポートし、使用していただけることを楽しみにしています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelは、直感的なフラッシュメソッドを使用して、一時的なセッションデータの処理を簡素化します。これは、アプリケーション内に簡単なメッセージ、アラート、または通知を表示するのに最適です。 データは、デフォルトで次の要求のためにのみ持続します。 $リクエスト -

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelは簡潔なHTTP応答シミュレーション構文を提供し、HTTP相互作用テストを簡素化します。このアプローチは、テストシミュレーションをより直感的にしながら、コード冗長性を大幅に削減します。 基本的な実装は、さまざまな応答タイプのショートカットを提供します。 Illuminate \ support \ facades \ httpを使用します。 http :: fake([[ 'google.com' => 'hello world'、 'github.com' => ['foo' => 'bar']、 'forge.laravel.com' =>

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

See all articles