本地開發和測試伺服器是任何WordPress開發人員工具庫中最重要的工具之一。這些久經考驗的解決方案使您能夠快速輕鬆地構建網站,而不會有破壞實時Web伺服器的風險。但是,他們可能偶爾仍會遇到問題。
MAMP是一種流行的本地Web開發工具,用於構建WordPress網站,但它有時會成為localhost問題的犧牲品。幸運的是,如果您遇到常見的“localhost refused to connect”訊息,您可以採取一些步驟來解決此錯誤。
在本文中,我們將探討MAMP的localhost錯誤是什麼,以及導致問題的原因。然後,我們將分享七種解決此連線問題的方法。
MAMP 簡介(以及“本地主機拒絕連線”錯誤)
MAMP是一個由開源軟體和專有軟體組成的解決方案堆疊。MAMP這個名字來源於它的元件:macOS、Apache、PHP、MySQL或MariaDB,以及Perl或Python。但是,MAMP不限於這些元素。例如,您可能會選擇使用Nginx而不是Apache。
MAMP在您的Windows或macOS計算機上安裝本地伺服器環境,通常用於開發動態網站。MAMP也被使用WordPress等內容管理系統 (CMS) 的開發人員廣泛使用:
您可以使用MAMP開發沒有實時Web伺服器的網站
使用MAMP,您可以在計算機上設定本地開發環境。這消除了通常與配置獨立Web伺服器相關的時間、成本和複雜性。換句話說,它非常適合快速測試專案或開發網站而不會破壞實時伺服器。
但是,您在使用MAMP時仍可能遇到問題。當您嘗試訪問localhost時,您可能會看到以下錯誤訊息:“localhost denied to connect”。
這通常發生在您的埠配置出現問題時。例如,另一個服務可能會阻止MAMP嘗試使用的埠,或者您可能正在嘗試完全訪問錯誤的埠。當MAMP無法啟動伺服器時,您也可能會遇到此錯誤。
如何解決MAMP的“本地主機拒絕連線”錯誤(7種方法)
MAMP是用於在本地環境中開發和測試專案的流行解決方案。但是,如果您無法連線到localhost,您將很難從該工具中獲得任何價值。如果您遇到“localhost拒絕連線”錯誤,這裡有七個修復程式可以幫助您重新連線並重新開始工作。
1. 嘗試不同的Web瀏覽器
您的連線問題可能是特定於瀏覽器的。每個網路瀏覽器都有獨特的設定和行為。
特別是,某些瀏覽器會自動重定向到與任何HTTP網址等效的超文字傳輸協議安全 (HTTPS) 。如果您沒有為Web專案啟用安全套接字層 (SSL),則此重定向可能會觸發localhost錯誤。
在進行更復雜的修復之前,您可能需要嘗試通過其他Web瀏覽器訪問您的localhost。這可以幫助您測試問題出在MAMP還是您正在使用的瀏覽器上。
如果您在備用瀏覽器中沒有遇到localhost錯誤,這表明問題是特定於瀏覽器的。在這種情況下,我們建議檢查您的瀏覽器設定以查詢可能導致MAMP出現問題的任何配置。例如,您可能會發現您的瀏覽器預設將HTTP請求重定向到HTTPS。
解決此重定向問題的步驟將根據您使用的內容而有所不同。例如,Chrome使用者可以通過訪問chrome://net-internals/#hsts來禁用此重定向:
檢查您的瀏覽器是否有自動HTTPS重定向
接下來,滾動到以下部分Delete domain security policies,然後輸入您的 localhost 域。然後,您可以選擇Delete,這應該會禁用Chrome對您的本地主機的重定向。
2. 允許傳入連線
如果您無法通過localhost訪問Web伺服器,則您的防火牆可能會阻止連線。您通常可以通過修改防火牆設定以允許MAMP嘗試訪問的埠的傳入連線來解決此問題。或者,您可以允許整個MAMP應用程式的連線。
如果您是macOS使用者,您可以通過導航到Apple > System Preferences… > Security & Privacy來編輯防火牆設定。然後您可以選擇Firewall選項卡:
macOS防火牆設定
要為整個MAMP應用程式啟用傳入連線,請選擇Firewall Options。然後,您可以單擊+ 圖示,選擇MAMP,然後選擇Add。然後MAMP將被新增到您的允許應用程式列表中。
允許MAMP的所有傳入連線
此時,請檢查以確保MAMP應用程式配置為Allow incoming connections,然後單擊OK。您的防火牆現在將允許MAMP的所有傳入連線。
如果您使用的是Windows Defender,您應該在安裝MAMP時收到防火牆通知。但是,您可以隨時更改您的Windows防火牆許可權,方法是導航到開始 > 設定 > 搜尋“防火牆和網路保護”對防火牆設定進行必要的更改。
3. 檢查MAMP的文件根目錄
當您訪問本地主機時,MAMP會顯示文件根目錄的內容。預設情況下,它位於/Applications/MAMP/htdocs,並且包含index.html 或index.php檔案。
如果您移動或刪除此索引檔案,MAMP將不會載入任何內容。如果您錯誤地編輯索引檔案,MAMP也可能難以顯示任何內容。這可能會導致一系列錯誤,包括“localhost拒絕連線”訊息。
您可以通過前往/Applications/MAMP/htdocs/來確定您是否無意中修改或移動了此重要資料夾。如果它不包含index.html或index.php檔案,則可能會導致您的localhost錯誤。
還值得檢查一下MAMP是否從正確的資料夾載入內容。如果您使用的是免費版本的MAMP,您可以在MAMP主視窗中檢查根文件的位置:
檢查MAMP文件根目錄
如果您使用的是MAMP Pro,則此過程略有不同。您可以通過選擇Hosts > General來驗證根目錄的位置。此螢幕將顯示您的文件根檔案路徑:
檢查MAMP設定中的文件根目錄
如果您懷疑文件根目錄可能存在問題,您只需選擇開啟方式, 然後選擇您喜歡的檔案管理器。這會將您直接帶到文件根目錄,您可以在其中檢查資料夾的內容並進行任何必要的更改。
4.更改埠設定
MAMP等伺服器程式需要對特定網路埠的獨佔訪問許可權。這使得多個程式可以在同一臺機器上執行。
每個伺服器都有一個預設埠。Apache Web伺服器通常使用埠80,而MySQL資料庫伺服器使用埠3306。預設情況下,MAMP使用埠8888、8889和7888。但是,這些埠可能已經被其他程式或軟體使用。
在這種情況下,您可以將MAMP配置為使用備用埠。如果您使用的是免費版本,則可以通過導航到MAMP > Preferences檢查埠設定。然後選擇Ports選項卡:
檢查MAMP埠設定
如果您使用的是MAMP Pro,您會在Ports & User選項卡中找到這些選項 。然後,您可以看到MAMP正在使用的確切埠:
檢查MAMP Pro埠設定
如果MAMP已在使用備用埠,您可以嘗試通過選擇MAMP default來恢復預設設定。如果您是Pro使用者,您可以單擊Set default MAMP Ports按鈕。這會將Apache、Nginx和MySQL的埠重置為8888、7888和8889。
或者,MAMP有一個80和3306按鈕,可以將埠設定為最常用的值。修改埠設定後,直接在瀏覽器的位址列中輸入新的埠號可能會獲得積極的結果,如http://<localhost>:8888/。
如果您仍然遇到localhost錯誤,您可以嘗試將MAMP配置為使用完全隨機的埠號,例如8814。然後您可以直接在Web瀏覽器中輸入此地址 ( http://localhost:8814/ ) 以檢視它是否解決了您的本地主機問題。
5. 驗證您的Apache Web伺服器是否正在執行
Apache是最常用的Web伺服器之一。MAMP和MAMP Pro都提供此選項。但是,如果Apache伺服器沒有執行,您將很難連線到您的localhost。
您可以通過檢視MAMP應用程式右上角的Stop/Start按鈕來檢視您的Apache伺服器是否正在執行。如果Apache Web伺服器處於活動狀態,此按鈕將為綠色。如果您是MAMP Pro使用者,您可以通過在左側選單中選擇“Apache”來執行驗證:
檢查Apache Web伺服器安裝
MAMP Pro使用者還可以通過選擇Info或Status檢視有關其Apache伺服器的更多資訊。如果伺服器正在執行,這兩個按鈕將啟動一個選項卡,其中包含有關Apache配置的更多資訊。
Apache伺服器狀態
如果您的Apache Web伺服器未執行,則另一個MySQL服務可能正在使用相同的埠。如果您懷疑是這種情況,一種解決方案是退出您機器上的所有httpd程序。退出httpd程序的具體步驟會因您的作業系統而異。
Mac使用者可以使用活動監視器識別和退出httpd程序。在Activity Monitor工具欄中,選擇View > All Processes:
檢視活動監視器中的所有程序
在Search 欄位中,鍵入“httpd”。選擇列表中的每個結果,然後單擊 活動監視器左上角的停止圖示:
在macOS中退出httpd程序
退出每個httpd程序後,重新啟動MAMP並嘗試重新啟動Apache Web伺服器。
如果這不能解決您的問題,則您的httpd.conf.temp檔案可能已損壞。一些MAMP Pro使用者在重新命名此檔案後報告了積極的結果。
在本地計算機上,導航到~/Library/Application Support/appsolute/MAMP PRO/templates。然後,您可以將httpd.conf.temp重新命名為http.conf.temp.bak。重新啟動MAMP,並檢查您的Apache伺服器現在是否成功執行。
6. 重啟Apache Web伺服器
您還可以通過重新啟動Apache Web伺服器來解決“localhost拒絕連線”錯誤。要停止伺服器,請 通過導航到應用程式 > 實用程式 > 終端來啟動Mac的終端。
在macOS中啟動終端
或者,Windows使用者可以啟動命令提示符。然後執行以下命令:“sudo apachectl stop”。在終端或命令提示符視窗中,您應該看到以下訊息:Operation now in progress。
如果您修改了MAMP的埠設定,最好將它們恢復為預設值 (80/3306)。您可以導航到MAMP > Preferences… > Ports (MAMP) 或Ports & User (MAMP Pro)。在結果視窗中,選擇MAMP default 。
接下來,切換回終端或命令提示符,並執行以下命令:“sudo apachectl restart”。然後,您可以通過選擇MAMP右上角的“Start / Stop”圖示來重新啟動Apache Web伺服器。
7.重新安裝MAMP
最後但同樣重要的是,您可以通過解除安裝然後重新安裝MAMP來解決此問題。請注意,解除安裝程式將刪除位於db資料夾中的所有資料庫。
如果您使用的是MAMP Pro,則該資料夾位於/Library/Application Support/appsolute/MAMP PRO/db中。如果要保留此資訊,可以在解除安裝MAMP之前將檔案移動到安全位置。
我們還建議記下您的Apache、MySQL和DynDNS埠號,因為某些內容管理系統 (CMS) 依賴於埠。您可以通過在MAMP的左側選單中選擇Hosts,然後開啟General選項卡來找到此資訊。
要解除安裝MAMP Pro,請選擇MAMP PRO > Uninstall MAMP Pro。如果出現提示,請輸入您的管理員使用者名稱和密碼:
解除安裝MAMP Pro
解除安裝MAMP後,您將看到以下訊息:MAMP Pro has been uninstalled successfully。您現在可以轉到計算機的/Applications 資料夾,然後刪除MAMP 資料夾。
現在您已經完全刪除了MAMP,是時候重新安裝它了!您可以從官方網站下載MAMP的新副本 ,然後正常安裝該應用程式。
成功安裝MAMP後,您可能需要恢復資料庫。在您最喜歡的檔案管理器中,導航到/Library/Application Support/appsolute/MAMP PRO/db。然後,您可以將db檔案拖到該資料夾中。
小結
MAMP本地伺服器環境對於 構建和測試您的網站非常有用。但是,如果您遇到“localhost拒絕連線”錯誤,您必須在繼續之前解決它。
幸運的是,如果您確實遇到了這個問題,您可以採取一些步驟來解決它。我們建議通過嘗試通過替代Web瀏覽器訪問您的專案來測試問題是否是特定於瀏覽器的。您還可以通過修改防火牆設定和MAMP的埠配置來獲得積極的結果。
評論留言