Stone を PHP7 にインストールすると、Laravel フレームワークのパフォーマンスが向上します。

藏色散人
リリース: 2020-11-06 15:34:52
転載
2606 人が閲覧しました

次のコラム Laravel では、Laravel フレームワークのパフォーマンスを向上させるために、PHP7 に Stone をインストールする方法を紹介します。困っている友達に!

Stone を PHP7 にインストールすると、Laravel フレームワークのパフォーマンスが向上します。

PHP7 に Stone をインストールすると、Laravel フレームワークのパフォーマンスが大幅に向上します。

ご存知のとおり、PHP フレームワークは重くなり、重いフレームワークでは解析中に多くのクラス、メソッド、カスタム関数が呼び出され、パフォーマンスが大幅に低下するため、パフォーマンスが低下します。

Laravel は非常に人気のある PHP フレームワークですが、強力なフルスタック フレームワークでもあります。この方法 (https://xueyuanjun.com/post/2398.html) を使用して、 Laravel アプリケーションのパフォーマンスと効果は理想的ではありません。

もちろん、Laravel には Slim と同様のマイクロフレームワークである Lumen という姉妹版もありますので、このマイクロフレームワークで十分だと思われる場合は、Laravel を置き換えることもできます。

幸いなことに、PHP7 のパフォーマンスは PHP5.6 と比較してほぼ 2 倍になっており、Facebook の HHVM も優れた代替手段です。したがって、可能であれば、できるだけ最新バージョンの PHP を使用すると、そのメリットは小さくありません。

しかし、Laravel などの高負荷なフレームワークの場合、PHP7/HHVM を使用したとしても、パフォーマンスは依然として非常に低いです。キャッシュ (memcached/redis など) はサーバーの負荷を軽減できますが、それは単なるパフォーマンスです。静的ページの速度が向上します。Eloquent ORM のようなパフォーマンスを消費する場所では、根本原因ではなく症状を治療する方が良いです (もちろん、代わりに DB ファサードを使用することもできます。私の質問を参照してください)。方法はありませんか? ? (opcache を言う人もいますが、Laravel フレームワークではあまり効果的ではありません)

いいえ!ストーンが必要だ!

石とは何ですか?これは PHPHub への著者の投稿 (https://learnku.com/laravel/t/2092/5-minutes-to-improve-the-performance-of-laravel-frame-more-than-10-times) を確認してください。 Stone プロジェクトのアドレス (https://github.com/StoneGroup/stone) とドキュメント (https://chefxu.gitbooks.io/stone-docs/content/) を公開します。

PHP7 のインストール方法は次のとおりです。

私のテスト環境は Debian Linux 8 64 ビットですが、OSX も使用できます (Homebrew を使用して Nginx とPHP7、その他の操作は下記参照)、拡張機能のコンパイルが比較的面倒なのでWindowsは推奨しません。

Debian/Ubuntu/Linux mint を使用すると、最新バージョンの Nginx、PHP7、MySQL/MariaDB が含まれる dotdeb ソースを使用できます。もちろん教えません。私は OpenResty を使用しています。インストール手順については詳しく説明しません。方法が分からない場合は、Google で調べてください。

まず、swoole および runkit 拡張機能をインストールします。

pecl install swoole
ログイン後にコピー

ここでの PHP7 の落とし穴は、このソースを使用して PHP7 をインストールすると、PEAR が最新バージョンではないため、この問題で説明されている問題が発生する可能性があることです。 # を書いています この記事の執筆時点では、runkit 拡張機能は現在 PHP7 をサポートしていないため、インストールに pecl を使用しないでください。そうしないと、コンパイル エラーが発生します。ただし、誰かが使用できる修正バージョンを作成しました。この問題を参照してください。

インストール方法:

wget http://pear.php.net/go-pear.phar
php go-pear.phar
ログイン後にコピー

これまでのところ、両方の拡張機能は正常にインストールされています。

次に、PHP7 への実際のパスに基づいて ini ファイルを作成し、swoole と runkit をロードします。 Windows や OSX の場合、homebrew を使用してインストールする場合は、php.ini を直接変更するだけです。

Dotdeb ソースを使用してインストールされた PHP7 のパスは /etc/php/7.0/ なので、関連するコマンドは次のとおりです:

git clone https://github.com/runkit7/runkit7.git
cd runkit7
phpize
./configure
make
sudo make install
ログイン後にコピー

次に、Stone:composer require stone/kernel:dev-master をインストールします。私が言わなければならないのは、この記事の執筆時点で、著者の Gitbook に 2 つのエラーがありました:

1. Wrote pecl as pcel;

2. Composer のインストール アドレス。これはまだ彼の以前のプロジェクトのアドレスであり、以前のプロジェクトには彼の会社に関する情報が含まれていたため、アドレスを StoneGroup/stone に変更したと投稿の中で述べています。

Stone の文書を参照するときは、誰もがこの記事に従い、寄り道を避ける必要があります。作者にフィードバックを送ったところ、問題は修正されました。

最後に php-fpm を再起動し、php -m を使用して、これら 2 つの拡張機能が正常に読み込まれるかどうかを確認します。

次の手順については、ドキュメントに従うだけで済みます。この時点で、Stone は PHP7 に正常にインストールされています。 Stone を起動して、パフォーマンスの飛躍を楽しんでください!

PS: 別の同様のプロジェクトを見つけましたが、実装の詳細が異なります。興味がある場合は、こちらをご覧ください: https://github.com/scil/LaravelFly

以上がStone を PHP7 にインストールすると、Laravel フレームワークのパフォーマンスが向上します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:segmentfault.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!