グループ内で、一部の Swoole フレームワークの起動が遅く、特にマウントされたネットワーク ハードディスク上で実行する場合に遅いと言っているのを見たことがあります。
Swoole は PHP アプリケーションをメモリ上に常駐させることができるため、起動時に多くのファイルをスキャンして読み込む必要があり、これが起動速度の低下の原因であると考えられます。
php と phar パッケージを考えて、phar を使用してこの問題を解決しようとしました。苦労が報われました。ついに imi フレームワークの phar パッケージ化の互換性とサポートを実装しました。テスト結果は次のようになります:
ローカル ハード ディスク上にあるものでも、ローカル ハードディスク上にあるものでも、Phar を使用してファイルを列挙、読み取り、インクルードします。 Samba などのネットワーク ファイル共有マウントのパフォーマンスは、分散ファイルのマウントよりも強力です。
phar は強力で、パッケージを直接使用してプロジェクトをデプロイできますが、従来の PHP アプリケーション開発では、phar には利点があまりないため、実際には人気がありません。 Swoole 環境では、起動時に使用するファイルをロードできる常駐メモリをサポートするフレームワークが増えています。
phar には PHP 5.3.0 以降サポートが組み込まれているため、互換性を心配したり、追加の拡張機能をインストールしたりする必要はありません。
私は、Phar ファイルの列挙、読み取り、およびインクルードのパフォーマンスをテストするために、特別にデモを作成しました。
https://gitee.com/yurunsoft/PharTest
興味のある友人は、ダウンロードして自分で実行できます。
Phar ファイルのパッケージ化機能を開始するには、まず php.ini で phar.readonly = Off を設定する必要があります。
Phar のパッケージ化コードは主に次のとおりです。実際のアプリケーションの状況は複雑なので、公式の PHP ドキュメントを参照し、実際の状況に応じて若干の修正を加えることができます。
以上がPHP の Phar パッケージは非常に強力であることが判明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。