下面由laravel教學欄位介紹hosts檔案設定錯誤導致應用程式卡頓問題(Laravel-Sail開發環境),希望對需要的朋友有所幫助!
今天將一個專案的原始碼拉下來,使用新的 Laravel-Sail 開發環境,之前的 Homestead 開發環境現在只做備用了。剛開始一切都很順利,依賴安裝、容器啟動、資料遷移,然後我高高興興的將開發用的網域配置到hosts 檔案:
127.0.0.1 devocus.test
開啟瀏覽器,造訪: http ://devocus.test:8016
,本以為一切順利,但是卻發現頁面一直處於加載狀態,隔了差不多30 秒才將完整的界面加載出來,我百思不得其解,其他幾個項目我都是用的Laravel-Sail 開發環境,幾乎都是秒開,這個專案是腫麼了?
然後我打開瀏覽器開發者工具,發現所有的請求都需要 30 秒以上,難道遇到了檔案 IO 問題?但是我專案是放在 Ubuntu 子系統中的呀。網路問題?那其他幾個項目又完全正常呀。我嘗試著各種可能的解決辦法,改文件權限、關閉ladder、刪除並重新建立容器等等,一頓折騰下來,毫無結果。
於是安裝了 Telescope,查看每個請求的詳細情況,打開 Telescope 速度也非常慢,我等待了大概一分鐘,Telescope 的介面終於加載出來了。但查詢結果令我非常意外:
Telescope 顯示,每個要求的處理速度都很快,資料查詢也很快,我佛了…
於是找同事的電腦試一下,開發環境都是Laravel-Sail 沒想到他的電腦上訪問也同樣十分緩慢,這直接將我們的思維引導到“項目代碼有問題” 這個方向上,於是我花了一上午時間仔細對比檢查各種設定檔、env文件,升級了laravel 以及各種依賴的版本。但當我每次滿懷期待的在瀏覽器開啟應用程式時,還是卡片的讓我懷疑人生,而且日誌記錄一切正常。然後使用搜尋引擎嘗試搜尋這個問題的解決方案,中文搜尋、英文搜尋都沒有結果。一個上午過去了,還是沒有搞定這個問題,甚至一股絕望感湧上心頭。
最後還是決定去吃午飯,先讓自己放鬆。吃完飯回來的路上,我又一次思考這個問題,腦袋裡各種搜尋出來的答案一條一條閃過,突然一個單字從我眼前「飛過」:hosts
。
回到工位上我打開電腦,想著先用ip 直接存取應用程式看看狀況,於是在瀏覽器輸入http://127.0.0.1:8016
,介面被急速打開,我大概有點眉目了,於是打開hosts 文件,想著換個網域試試:
# 127.0.0.1 devocus.test 127.0.0.1 ifocus-dev.test
然後打開瀏覽器,輸入http://ifocus-dev.test:8016
,應用被快速打開,非常流暢,問題就這樣莫名其妙的解決了。
但是問題出在哪裡呢?我再次打開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 檔案中,同一個網域解析到兩個ip 會發生什麼事呢?我去搜尋引擎上搜尋了一下,找到了答案:
電腦在hosts檔案中是從上往下找出IP,相同的網域取第一個IP,如果第一個IP受阻,那麼會轉向第二個IP,甚至第N個,但是這種方式達不到負載平衡的效果,但可以增加開啟網站的幾率。
由於我將devocus.test
解析到了兩個IP位址:192.168.10.10 及127.0.0.1,當我在瀏覽器中開啟http:// devocus.test
時,首先訪問192.168.10.10,但是由於我的Homestead 是關閉狀態,所以肯定訪問失敗,這個過程持續30秒左右,然後系統又去hosts 文件中繼續查找其他的IP,找到並造訪127.0.0.1 時才開啟了網頁。因為每個請求都要經過這個過程,所以我會感覺到系統非常的卡頓。至此,困擾我的問題得於解決。
所以大家在開發專案時,一定要多留意這些細微的小問題,小問題很多時候也會造成巨大的困擾,即使我這樣自以為是的老手,也會掉入深坑。軟體產業真是一個需要不斷踩坑、不斷挖坑、不斷填坑的實務產業。
不過我想了想,要是我當時 Homestead 環境是打開的,我可能會更加的困擾。
《相關建議:最新的五個Laravel影片教學》
以上是hosts檔案設定錯誤導致應用程式卡頓問題(Laravel-Sail開發環境)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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,強調開發者體驗,適合小型到中型項目。

PHP和Laravel不是直接可比的,因為Laravel是基於PHP的框架。 1.PHP適合小型項目或快速原型開發,因其簡單直接。 2.Laravel適合大型項目或高效開發,因其提供豐富功能和工具,但學習曲線較陡,性能可能不如純PHP。

laravelisabackendframeworkbuiltonphp,設計ForweBapplicationDevelopment.itfocusessonserver-sideLogic,databasemagemention和Applicationstructure和CanBeintegratedWithFrontendTechnologiesLikeLikeVue.jsorreActeReacterVue.jsorreActforforfull-stackDevefloct。

本文討論了Laravel中的創建和使用自定義刀片指令以增強模板。它涵蓋了定義指令,在模板中使用它們,並在大型項目中管理它們,強調了改進的代碼可重複性和R等好處

本文討論了使用組件在Laravel中創建和自定義可重複使用的UI元素,從而為組織提供最佳實踐並建議增強包裝。

文章討論了使用Laravel的路由來創建SEO友好的URL,涵蓋最佳實踐,規範的URL和SEO優化工具。WordCount:159


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版
視覺化網頁開發工具

禪工作室 13.0.1
強大的PHP整合開發環境