對於WordPress開發人員來說,擁有一個可用的本地暫存環境是必不可少的。MAMP是一種流行的解決方案,但一些常見問題可能會阻止平臺正常執行。
幸運的是,MAMP使用者已經找到了解決這些問題的相當簡單的解決方案,您可以使用它來讓您的本地堆疊重新執行。通常,只需單擊幾下即可。
在本文中,我們將回顧MAMP是什麼、它為什麼有用以及如何找到它的錯誤日誌。然後,我們將引導您瞭解MAMP無法啟動的五個常見解決方案。
MAMP簡介
MAMP是幾個流行的本地開發平臺之一。它將您的計算機變成一個伺服器環境,可以在您處理網站時託管網站:
MAMP主頁
MAMP使用Apache、MySQL和PHP,使其與WordPress高度相容。有一個免費版本,或者您可以付費購買包含安裝程式和其他功能的專有版本 ,以幫助您快速設定您的第一個站點並改善您的工作流程。
與本地託管的所有網站一樣,您的MAMP開發或測試網站不會公開。這使您能夠自由地構建或測試功能,而不必擔心它會影響您的前端使用者體驗 (UX)。它還可以防止訪問者偶然發現您半成品的網站。
此外,本地開發不需要網際網路連線,因此您可以在任何地方工作。本地網站也往往載入速度更快,這可能會在一定程度上提高您的工作效率。完成網站的構建或更改後,您可以將其遷移到實時伺服器。
我們在上一篇文章中介紹了如何安裝MAMP 。在這個階段,我們假設您已經在使用它但遇到了問題。
如何檢查您的MAMP錯誤日誌
查詢MAMP錯誤日誌非常簡單。只需導航到儲存安裝的資料夾並開啟日誌資料夾。您應該會看到Apache、MySQL和PHP錯誤日誌的檔案:
MAMP錯誤日誌檔案
如果您遇到MAMP無法啟動的問題,這應該是您的第一步。檢查日誌以檢視是否有任何與問題相關的訊息,以及它們是否提供了您可以採取的具體步驟來解決問題。這比試錯法故障排除要快得多。
如果MAMP沒有啟動怎麼辦
MAMP使用者遇到的一些常見問題包括Apache未啟動和MySQL未啟動。這兩個問題都會阻止平臺執行,使您無法訪問本地站點。以下是一些可以幫助您解決這兩個障礙的頂級解決方案,因此您可以重新開始工作。
1.恢復您的文件根資料夾
MAMP安裝的文件根目錄是儲存虛擬主機的HTML、PHP和影象檔案的位置。假設您有意或無意地更改或刪除了您的文件根資料夾。在這種情況下,您可能會看到一條錯誤訊息:“Apache couldn’t be started. Please check your MAMP installation and configuration”:
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伺服器首選項
確保選擇了Apache。然後,單擊Document Root 旁邊的Select按鈕。這將開啟一個Finder視窗,您可以在其中選擇要用作文件根目錄的資料夾。
選擇正確的資料夾後單擊選擇,然後在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>
- Windows:
taskkill /F /PID pid_number
執行上述命令時,請確保將$PORT
、<PID>
和pid_number
等佔位符替換為適當的值。
如果要更改MAMP配置檔案中的偵聽埠,可以通過開啟httpd.conf檔案並將所有提及的“port 8888”更改為“port 8000”(或其他替代方法)來實現。儲存檔案,然後重新啟動Apache。
此外,您可以在Preferences>Ports中更改Apache埠:
MAMP埠首選項
單擊確定以儲存您的更改。
3.殺死所有MySQL程序並重新啟動MAMP
如果您的MAMP問題是由於MySQL而不是Apache,您可以嘗試一些首選修復程式。該問題通常是由於在同一埠上執行了另一個MySQL服務。
最簡單的解決方案是殺死所有MySQL程序並重新啟動MAMP。在macOS上,您可以使用Activity Monitor來執行此操作,您可以在計算機的Utilities資料夾中找到它。
搜尋“mysqld”,選擇任何正在執行的程序,然後單擊視窗左上角的X按鈕退出它們:
通過活動監視器殺死活動的MySQL程序
Windows使用者需要從開始選單開啟資源監視器:
Windows資源監視器應用程式
搜尋mysqld.exe檔案,右鍵單擊它,然後選擇結束程序(End Process)。退出計算機上的所有MySQL程序後,停止並重新啟動MAMP。
4. 清除你的MySQL日誌
如果殺死計算機上所有活動的MySQL程序無法啟動MySQL,您可以嘗試刪除MySQL日誌檔案。這些儲存在您的MAMP的db/mysql57目錄中:
MAMP MySQL日誌檔案
它們應該命名為ib_logfile0、ib_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無法啟動,我們將向您介紹五種可能的解決方案:
- 恢復您的文件根資料夾。
- 更改您的偵聽埠。
- 殺死所有MySQL程序並重新啟動MAMP。
- 清除您的MySQL日誌。
- 刪除mysql.sock.lock檔案。
評論留言