次の laravel のチュートリアル コラムでは、不適切なホスト ファイル構成 (Laravel-Sail 開発環境) によって引き起こされるアプリケーション ラグの問題を紹介します。それを必要としている友達に役立つでしょう。助けてください!
今日はプロジェクトのソースコードをプルダウンして、新しい Laravel-Sail 開発環境を使用しましたが、以前の Homestead 開発環境は単なるバックアップとなっています。最初は、依存関係のインストール、コンテナーの起動、データの移行など、すべてがスムーズに進みました。その後、開発用のドメイン名をホスト ファイルに喜んで構成しました:
127.0.0.1 devocus.test
ブラウザを開いて、http :/ にアクセスします。 /devocus.test:8016
, すべてがうまくいっていると思っていましたが、ページが常に読み込まれていることがわかり、完全なインターフェイスが読み込まれるまでに 30 秒近くかかりました。困惑しました。他にもいくつかのプロジェクトがあり、いつもLaravel-Sail 開発環境を使用すると、ほとんどの場合数秒で開始されます。このプロジェクトは肥大化していますか?
その後、ブラウザーの開発者ツールを開いたところ、すべてのリクエストに 30 秒以上かかったことがわかりました。ファイル IO の問題が発生しましたか?しかし、私のプロジェクトは Ubuntu サブシステムに配置されています。ネット障害?その他の項目は全く正常です。ファイルのパーミッションを変更する、ラダーを閉じる、コンテナを削除して再作成するなど、考えられるすべての解決策を試しましたが、役に立ちませんでした。
そこで、Telescope をインストールし、各リクエストの詳細を確認しました。Telescope を開くのも非常に遅く、Telescope インターフェイスが最終的にロードされるまで約 1 分待ちました。しかし、クエリ結果には非常に驚きました:
Telescope は、各リクエストが非常に高速に処理され、データ クエリも非常に高速であることを示しています。私は驚きました...
そこで、同僚のコンピュータで試してみました。開発環境はLaravel-Sailでした。思いがけず、同僚のコンピュータでもアクセスが非常に遅かったのです。これがそのまま「問題がある」という方向に考えを導きました。プロジェクトコード」を参照して、午前中をかけてさまざまな設定ファイルとenvファイルを慎重に比較および確認し、laravelとさまざまな依存バージョンをアップグレードしました。しかし、大きな期待を持ってブラウザでアプリケーションを開くたびに、依然としてフリーズして人生を疑いますが、ログ記録はすべて正常です。次に、検索エンジンを使用してこの問題の解決策を探しますが、中国語または英語で検索しても結果がありません。一日経ってもこの問題は解決せず、絶望感さえ覚えました。
最後に、まずは昼食をとりに行ってリラックスすることにしました。夕食の帰り道、もう一度この疑問について考えたとき、頭の中で調べたさまざまな答えが次々と浮かび上がり、突然目の前に「hosts
」という言葉が浮かんできました。
ワークステーションに戻って、コンピューターの電源を入れ、IP を使用してアプリケーションに直接アクセスして状況を確認しようと考えたので、ブラウザを開くと、インターフェイスがすぐに開きました。おそらく少し混乱したので、hosts ファイルを開いてドメイン名を変更することを考えました: <pre class="brush:php;toolbar:false"># 127.0.0.1 devocus.test
127.0.0.1 ifocus-dev.test</pre>
それからブラウザを開き、
を適用して、すぐにスムーズに開き、問題は不可解にも解決されました。 しかし、何が問題なのでしょうか?もう一度hostsファイルを開いてよく確認してみると、以前にやったのと同じドメイン名の解決がhostsファイルの中にひっそりと眠っていたので、開発環境をHomesteadからLaravel-Sailに移行した際に修正を忘れていました。 hosts ファイル:
... 192.168.10.10 devocus.test ... # 127.0.0.1 devocus.test 127.0.0.1 ifocus-dev.test
hosts ファイルで、同じドメイン名が 2 つの IP に解決される場合はどうなりますか?検索エンジンで検索したところ、次のような答えが見つかりました: コンピューターは、hosts ファイルの IP を
上から下までdevocus.testに検索します。同じドメイン名の場合は、最初のアドレスを取得します。 IP: 最初の IP がブロックされた場合、2 番目の IP または N 番目の IP に切り替わります。ただし、この方法では負荷分散効果は得られませんが、Web サイトが開く可能性は高くなります。
を 2 つの IP アドレス (192.168.10.10 と 127.0.0.1) に解析したため、ブラウザで http:// を開くと devocus.test
、最初は 192.168.10.10 にアクセスしますが、ホームステッドが閉鎖されているため、アクセスは失敗するはずです。このプロセスは約 30 秒続きます。その後、システムはホスト ファイル内の他の IP の検索を続け、Web ページを見つけます。 127.0.0.1 にアクセスした場合にのみ開かれました。すべてのリクエストがこのプロセスを通過する必要があるため、システムが非常に行き詰まっていると感じます。この時点で、私を悩ませていた問題は解決されました。 <p>ですから、プロジェクトを開発する際には、皆さんもこうした微妙な問題にもっと注意を払う必要があります。小さな問題が大きな問題を引き起こすこともよくあります。私のような独善的なベテランでも、深い落とし穴にはまってしまいます。ソフトウェア業界は実際には、絶えず穴を踏み、穴を掘り、穴を埋める必要がある現実的な業界です。 </p>
<p>しかし考えてみると、もし当時ホームステッド環境が開いていたら、もっと困っていたかも知れません。 <span class="rm-link-color"></span></p>
以上がホストファイル構成エラーによりアプリケーションの遅延が発生する (Laravel-Sail 開発環境)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Laravelは、バックエンド開発で強く機能し、Eloquentorm、コントローラー、サービスクラスを介してデータベース操作を簡素化し、ビジネスロジックを処理し、キュー、イベント、その他の機能を提供します。 1)Eloquentormは、モデルを介してデータベーステーブルをマップしてクエリを簡素化します。 2)ビジネスロジックは、モジュール性と保守性を向上させるために、コントローラーとサービスクラスで処理されます。 3)キューシステムなどのその他の機能は、複雑なニーズの処理に役立ちます。

Laravel Developmentプロジェクトは、さまざまなサイズと複雑さのニーズに合う柔軟性とパワーのために選択されました。 Laravelは、ルーティングシステム、Eloquentorm、Artisan Command Lineおよびその他の機能を提供し、簡単なブログから複雑なエンタープライズレベルのシステムへの開発をサポートしています。

開発環境とエコシステムにおけるLaravelとPythonの比較は次のとおりです。1。Laravelの開発環境は簡単で、PHPと作曲家のみが必要です。 Laravelforgeなどの豊富な範囲の拡張パッケージを提供しますが、拡張パッケージのメンテナンスはタイムリーではない場合があります。 2。Pythonの開発環境もシンプルで、PythonとPIPのみが必要です。エコシステムは巨大で複数のフィールドをカバーしていますが、バージョンと依存関係の管理は複雑な場合があります。

Laravelはバックエンドロジックでどのように役割を果たしますか?ルーティングシステム、Eloquentorm、認証と承認、イベントとリスナー、パフォーマンスの最適化を通じてバックエンド開発を簡素化および強化します。 1.ルーティングシステムにより、URL構造の定義とリクエスト処理ロジックが可能になります。 2.Eloquentormは、データベースの相互作用を簡素化します。 3.認証および承認システムは、ユーザー管理に便利です。 4.イベントとリスナーは、ゆるく結合したコード構造を実装します。 5.パフォーマンスの最適化により、キャッシュとキューイングを通じてアプリケーションの効率が向上します。

Laravelの人気には、単純化された開発プロセスが含まれ、快適な開発環境を提供し、豊富な機能が提供されます。 1)Rubyonrailsの設計哲学を吸収し、PHPの柔軟性を組み合わせています。 2)Eloquentorm、Bladeテンプレートエンジンなどのツールを提供して、開発効率を向上させます。 3)そのMVCアーキテクチャと依存関係噴射メカニズムにより、コードがよりモジュール化され、テスト可能になります。 4)キャッシュシステムやベストプラクティスなどの強力なデバッグツールとパフォーマンス最適化方法を提供します。

DjangoとLaravelはどちらもフルスタックのフレームワークです。 DjangoはPython開発者や複雑なビジネスロジックに適していますが、LaravelはPHP開発者とエレガントな構文に適しています。 1.DjangoはPythonに基づいており、迅速な発展と高い並行性に適した「バッテリーコンプリート」哲学に従います。 2. LaravelはPHPに基づいており、開発者エクスペリエンスを強調しており、小規模から中規模のプロジェクトに適しています。

LaravelはPHPベースのフレームワークであるため、PHPとLaravelは直接匹敵するものではありません。 1.PHPは、シンプルで直接的であるため、小規模プロジェクトや迅速なプロトタイピングに適しています。 2。LARAVELは、豊富な機能とツールを提供するため、大規模なプロジェクトや効率的な開発に適していますが、急な学習曲線があり、純粋なPHPほど良くない場合があります。

laravelisabackendframeworkbuiltonphp、designforwebapplicationdevelopment.itfocusonserver-sidelogic、databasemanagement、およびapplicationStructure、およびbueithedendtechnologiesvue.jsorreactforfull-stackdevelymentと統合されていること。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

Safe Exam Browser
Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境
