如何解決MAMP無法正常啟動執行的問題

如何解決MAMP無法正常啟動執行的問題

對於WordPress開發人員來說,擁有一個可用的本地暫存環境是必不可少的。MAMP是一種流行的解決方案,但一些常見問題可能會阻止平臺正常執行。

幸運的是,MAMP使用者已經找到了解決這些問題的相當簡單的解決方案,您可以使用它來讓您的本地堆疊重新執行。通常,只需單擊幾下即可。

在本文中,我們將回顧MAMP是什麼、它為什麼有用以及如何找到它的錯誤日誌。然後,我們將引導您瞭解MAMP無法啟動的五個常見解決方案。

  1. MAMP簡介
  2. 如何檢查您的MAMP錯誤日誌
  3. 如果MAMP沒有啟動怎麼辦

MAMP簡介

MAMP是幾個流行的本地開發平臺之一。它將您的計算機變成一個伺服器環境,可以在您處理網站時託管網站:

MAMP主頁

MAMP主頁

MAMP使用Apache、MySQL和PHP,使其與WordPress高度相容。有一個免費版本,或者您可以付費購買包含安裝程式和其他功能的專有版本 ,以幫助您快速設定您的第一個站點並改善您的工作流程。

與本地託管的所有網站一樣,您的MAMP開發或測試網站不會公開。這使您能夠自由地構建或測試功能,而不必擔心它會影響您的前端使用者體驗 (UX)。它還可以防止訪問者偶然發現您半成品的網站。

此外,本地開發不需要網際網路連線,因此您可以在任何地方工作。本地網站也往往載入速度更快,這可能會在一定程度上提高您的工作效率。完成網站的構建或更改後,您可以將其遷移到實時伺服器。

我們在上一篇文章中介紹了如何安裝MAMP  。在這個階段,我們假設您已經在使用它但遇到了問題。

如何檢查您的MAMP錯誤日誌

查詢MAMP錯誤日誌非常簡單。只需導航到儲存安裝的資料夾並開啟日誌資料夾。您應該會看到Apache、MySQL和PHP錯誤日誌的檔案:

MAMP錯誤日誌檔案

MAMP錯誤日誌檔案

如果您遇到MAMP無法啟動的問題,這應該是您的第一步。檢查日誌以檢視是否有任何與問題相關的訊息,以及它們是否提供了您可以採取的具體步驟來解決問題。這比試錯法故障排除要快得多。

如果MAMP沒有啟動怎麼辦

MAMP使用者遇到的一些常見問題包括Apache未啟動和MySQL未啟動。這兩個問題都會阻止平臺執行,使您無法訪問本地站點。以下是一些可以幫助您解決這兩個障礙的頂級解決方案,因此您可以重新開始工作。

1.恢復您的文件根資料夾

MAMP安裝的文件根目錄是儲存虛擬主機的HTML、PHP和影象檔案的位置。假設您有意或無意地更改或刪除了您的文件根資料夾。在這種情況下,您可能會看到一條錯誤訊息:“Apache couldn’t be started. Please check your MAMP installation and configuration”:

Apache無法啟動

Apache無法啟動。請檢查您的MAMP安裝和配置。

要解決此問題,您只需恢復文件根資料夾或告訴MAMP您已將其移動到何處。此過程因您使用的是Mac還是Windows機器而異,因為檔案路徑可能略有不同。但是,您應該能夠在任一作業系統 (OS) 上執行以下步驟。

預設情況下,MAMP文件根目錄位於macOS上的Applications/MAMP/htdocs或Windows上的C:\MAMPhtdocs  。如果您知道您的新文件根資料夾在哪裡,您可以通過導航到Applications (或C: )  >MAMP>conf>apache>httpd.conf開啟您的MAMP配置檔案,然後用新路徑替換預設路徑。

開啟httpd.conf後,搜尋提及“DocumentRoot”並替換所有位置的預設路徑。儲存檔案,然後停止並重新啟動MAMP。

或者,您可以通過MAMP控制面板選擇新的文件根目錄。開啟Preferences視窗並選擇Web Server選項卡:

MAMP Web伺服器首選項

MAMP Web伺服器首選項

確保選擇了Apache。然後,單擊Document Root 旁邊的Select按鈕。這將開啟一個Finder視窗,您可以在其中選擇要用作文件根目錄的資料夾。

選擇正確的資料夾後單擊選擇,然後在MAMP選項視窗中選擇確定:

在Web Server首選項視窗中確認MAMP文件根目錄

在Web Server首選項視窗中確認MAMP文件根目錄

這將重置您的文件根目錄並自動重新啟動MAMP。然後Apache應該能夠啟動。

2. 改變你的監聽埠

預設情況下,MAMP在埠8888上執行 Apache。如果此埠正被其他應用程式使用,則Apache將無法啟動。

要解決此問題,您可以退出阻止Apache連線到埠8888的應用程式,或者更改MAMP配置檔案中的偵聽埠。

如果您想發現哪個應用程式阻塞了埠,您可以使用命令列來執行此操作。您需要輸入的命令會因您的作業系統而異:

  • macOS:sudo lsof -nP -iTCP:$PORT | grep LISTEN
  • Windows:netstat -ab | more

這些應該返回一個程序識別符號 (PID) 列表和它們正在執行的埠。您可以使用以下方法之一終止在您需要的埠上執行的程序以啟動MAMP:

  • macOS:sudo kill -9 <PID>
  • Windowstaskkill /F /PID pid_number

執行上述命令時,請確保將$PORT<PID>pid_number等佔位符替換為適當的值

如果要更改MAMP配置檔案中的偵聽埠,可以通過開啟httpd.conf檔案並將所有提及的“port 8888”更改為“port 8000”(或其他替代方法)來實現。儲存檔案,然後重新啟動Apache。

此外,您可以在Preferences>Ports中更改Apache埠:

MAMP埠首選項

MAMP埠首選項

單擊確定以儲存您的更改。

3.殺死所有MySQL程序並重新啟動MAMP

如果您的MAMP問題是由於MySQL而不是Apache,您可以嘗試一些首選修復程式。該問題通常是由於在同一埠上執行了另一個MySQL服務。

最簡單的解決方案是殺死所有MySQL程序並重新啟動MAMP。在macOS上,您可以使用Activity Monitor來執行此操作,您可以在計算機的Utilities資料夾中找到它。

搜尋“mysqld”,選擇任何正在執行的程序,然後單擊視窗左上角的X按鈕退出它們:

通過活動監視器殺死活動的MySQL程序

通過活動監視器殺死活動的MySQL程序

Windows使用者需要從開始選單開啟資源監視器:

Windows資源監視器應用程式

Windows資源監視器應用程式

搜尋mysqld.exe檔案,右鍵單擊它,然後選擇結束程序(End Process)。退出計算機上的所有MySQL程序後,停止並重新啟動MAMP。

4. 清除你的MySQL日誌

如果殺死計算機上所有活動的MySQL程序無法啟動MySQL,您可以嘗試刪除MySQL日誌檔案。這些儲存在您的MAMP的db/mysql57目錄中:

MAMP MySQL日誌檔案

MAMP MySQL日誌檔案

它們應該命名為ib_logfile0ib_logfile1等。備份日誌檔案,然後刪除它們並重新啟動MAMP。日誌檔案將在再次需要時自動重新生成。

5.刪除mysql.sock.lock檔案

MAMP必須將活動程序的程序識別符號 (PID) 寫入mysql.sock.lock 檔案。如果此任務失敗,則該檔案將被留下而不是在該過程完成後被刪除。

這將阻止MySQL啟動,因為它將空的mysql.sock.lock檔案與包含正在執行的PID的檔案相同。要解決此問題,您需要手動刪除該檔案。

導航到您的MAMP檔案( Mac上的Applications/MAMP 或Windows上的C:\MAMP  )並查詢tmp資料夾。然後選擇mysql 資料夾,搜尋mysql.sock.lock檔案,刪除。與日誌檔案一樣, 下次需要時會自動建立一個新的mysql.sock.lock檔案。

小結

MAMP是許多WordPress專業人士和愛好者的本地開發解決方案之一(注意:它不是唯一的)。但是,可能會出現一些問題,這些問題會阻止您的伺服器啟動,並最終延遲您的工作流程。

在本文中,如果Apache或MySQL無法啟動,我們將向您介紹五種可能的解決方案:

  1. 恢復您的文件根資料夾。
  2. 更改您的偵聽埠。
  3. 殺死所有MySQL程序並重新啟動MAMP。
  4. 清除您的MySQL日誌。
  5. 刪除mysql.sock.lock檔案。

評論留言