Voor WordPress ontwikkelaars is het gebruik van een lokale testomgeving essentieel. Hierbij is MAMP een populaire oplossing, maar er zijn een aantal veel voorkomende problemen die ervoor kunnen zorgen dat het platform niet goed werkt.
Gelukkig hebben MAMP gebruikers vrij eenvoudige oplossingen gevonden voor deze problemen, die je kan gebruiken om je lokale stack weer aan de praat te krijgen. Vaak is het een kwestie van niet meer dan een paar klikken.
In dit artikel bespreken we kort wat MAMP is, waarom het nuttig is en hoe je de foutlogs kan vinden. Vervolgens behandelen we vijf veel voorkomende oplossingen voor het niet starten van MAMP. Laten we meteen beginnen!
Een inleiding tot MAMP
MAMP is een van de vele populaire lokale ontwikkelplatforms. Het verandert je Mac of Windows computer in een serveromgeving die websites kan hosten terwijl je ze ontwikkelt:
MAMP gebruikt Apache, MySQL en PHP, waardoor het zeer geschikt is voor WordPress. Er is een gratis versie, of je kan betalen voor een eigen versie die installatieprogramma’s en andere features bevat om je te helpen snel je eerste site op te zetten en je workflow te verbeteren.
Net als alle sites die lokaal gehost worden, zal je MAMP ontwikkel- of testsite niet openbaar beschikbaar zijn. Dit stelt je in staat om vrijelijk functies te bouwen of te testen, zonder dat je je zorgen hoeft te maken dat het je front-end gebruikerservaring (UX) beïnvloedt. Ook voorkom je hiermee dat gebruikers op je half voltooide site stuiten.
Bovendien is voor lokale ontwikkeling geen internetverbinding nodig, dus je kan overal vandaan werken. Lokale sites laden doorgaans ook sneller, wat je productiviteit enigszins kan verhogen. Zodra je klaar bent met het bouwen of wijzigen van je site, kan je deze migreren naar een live server.
We hebben het in een eerder artikel gehad over hoe je MAMP installeert. In dit artikel gaan we er dan ook vanuit dat het in gebruik is genomen, maar dat je tegen een probleem bent aangelopen.
Zo check je de foutlogs van MAMP
Het vinden van je MAMP foutlogs is vrij eenvoudig. Navigeer gewoon naar de map waar je installatie is opgeslagen en open de map genaamd logs. Hier zou je de bestanden moeten zien van de foutlogs van Apache, MySQL en PHP:
Als je problemen ondervindt met dat MAMP niet start, zou dit je eerste stap moeten zijn. Controleer de logs om te zien of je berichten kan vinden te maken hebben met het probleem en of ze specifieke stappen vermelden die je kan nemen om het probleem op te lossen. Dit is veel sneller dan het oplossen van problemen door middel van vallen en opstaan.
Wat te doen als MAMP niet opstart (5 beste oplossingen)
Enkele veel voorkomende problemen waar MAMP gebruikers tegenaan lopen zijn Apache die niet start en MySQL die niet start. Beide problemen zorgen ervoor dat het platform niet werkt, en beide zorgen ervoor dat je onmogelijk toegang kan krijgen tot je lokale site. Hier zijn enkele populaire oplossingen die je moeten helpen beide blokkades op te lossen, zodat je weer aan het werk kunt.
1. Je document root map herstellen
De “document root” van je MAMP installatie is waar de HTML, PHP en afbeeldingsbestanden van je virtual host zijn opgeslagen. Stel dat je opzettelijk of per ongeluk de document root folder hebt gewijzigd of verwijderd. In dat geval zie je mogelijk een foutmelding met de tekst “Apache couldn’t be started. Please check your MAMP installation and configuration” wanneer je je server wil starten:
Om dit op te lossen, moet je simpelweg de document root map herstellen of MAMP vertellen waar je het naartoe hebt verplaatst. Dit proces varieert naargelang je een Mac of een Windows machine gebruikt, in die zin dat de bestandspaden enigszins kunnen verschillen. Je zou echter in staat moeten zijn om de onderstaande stappen op beide besturingssystemen (OS) te volgen.
Standaard staat de MAMP document root ingesteld op Applications/MAMP/htdocs op macOS, of C:MAMPhtdocs op Windows. Als je weet waar je nieuwe document root map zich bevindt, kan je je MAMP configuratiebestand openen door te navigeren naar Applications (of C:) > MAMP > conf > apache > httpd.conf en dan het standaard pad te vervangen door het nieuwe.
Zodra je httpd.conf hebt geopend, zoek je naar vermeldingen van “DocumentRoot” en vervang je overal het standaard pad. Sla het bestand op, en stop en herstart MAMP.
Als alternatief kan je je nieuwe document root selecteren via het MAMP controlepaneel. Open het venster Preferences en selecteer het tabblad Web Server:
Zorg ervoor dat Apache is geselecteerd. Klik vervolgens op de Select knop naast Document Root. Dit zal een Finder venster openen, waar je de map kan kiezen die je wil gebruiken als de document root.
Klik op Select zodra je de juiste map hebt gekozen en selecteer vervolgens OK in het MAMP venster Preferences:
Hiermee reset je de document root en start je automatisch MAMP opnieuw op. Apache zou dan moeten kunnen starten.
2. Je listening poort wijzigen
Standaard draait MAMP Apache op poort 8888. Als deze poort door een andere applicatie wordt gebruikt, zal Apache niet kunnen starten.
Om dit probleem op te lossen, kan je ofwel de toepassing afsluiten die voorkomt dat Apache verbinding maakt met poort 8888, of de listening poort wijzigen in je MAMP configuratiebestand.
Om erachter te komen welke app de poort blokkeert, kan je de opdrachtregel gebruiken. Het commando dat je in moet voeren is afhankelijk van je besturingssysteem:
- macOS:
sudo lsof -nP -iTCP:$PORT | grep LISTEN
- Windows:
netstat -ab | more
Dit zou een lijst moeten opleveren van Process Identifiers (PIDs) en de poorten waarop ze draaien. Je kan proces dat draait op de poort die je nodig hebt om MAMP te starten beëindigen door een van de volgende mogelijkheden te gebruiken:
- macOS:
sudo kill -9 <PID>
- Windows:
taskkill /F /PID pid_number
Let er bij het uitvoeren van bovenstaande commando’s op dat je de placeholders zoals $PORT
, <PID>
, en pid_number
vervangt door de juiste waarden.
Als je de listening poort in je MAMP configuratiebestand wilt veranderen, kun je dat doen door je httpd.conf bestand te openen en alle vermeldingen van “port 8888” te veranderen in “port 8000” (of een ander alternatief). Sla het bestand op en herstart dan Apache.
Bovendien kan je de Apache poort wijzigen in Preferences > Ports:
Klik op OK om je wijzigingen op te slaan.
3. Alle MySQL processen stoppen en MAMP herstarten
Als je MAMP problemen worden veroorzaakt door MySQL in plaats van Apache, zijn er een paar oplossingen die je kan proberen. Het probleem is meestal te wijten aan een andere MySQL service die op dezelfde poort draait.
De eenvoudigste oplossing is om alle MySQL processen te stoppen en MAMP opnieuw te starten. Op macOS kun je dit doen met de Activity Monitor, die je vindt in de map Utilities op je computer.
Zoek naar “mysqld”, selecteer alle lopende processen, en sluit ze af door op de X knop te klikken in de linker bovenhoek van het venster:
Windows gebruikers moeten de Resource Monitor openen vanuit het menu Start:
Zoek het mysqld.exe bestand, klik er met de rechtermuisknop op en selecteer End Process. Zodra je alle MySQL processen op je computer hebt afgesloten, stop en herstart MAMP.
4. Je MySQL logs wissen
Als het stoppen van alle actieve MySQL processen op je computer er niet voor zorgt dat MySQL start, kan je proberen je MySQL logbestanden te verwijderen. Deze zijn opgeslagen in de MAMP map db/mysql57:
Ze zouden namen moeten hebben als ib_logfile0, ib_logfile1, etc. Maak een back-up van de logbestanden, verwijder ze vervolgens en herstart MAMP. De logbestanden worden automatisch gegenereerd als ze weer nodig zijn.
5. Het bestand mysql.sock.lock verwijderen
MAMP moet Proces Identifiers (PID’s) voor actieve processen wegschrijven naar een mysql.sock.lock bestand. Als dit niet lukt, dan blijft het bestand achter in plaats van te worden verwijderd zodra het proces is voltooid.
Dit verhindert MySQL om op te starten, omdat het een leeg mysql.sock.lock bestand hetzelfde behandelt als een bestand met een draaiende PID. Om dit op te lossen, moet je het bestand handmatig verwijderen.
Navigeer naar je MAMP bestanden Applications/MAMP op Mac of C:MAMP op Windows en zoek naar de tmp map. Selecteer nu de map mysql, zoek naar het bestand mysql.sock.lock en verwijder het. Net als met de logbestanden, wordt er automatisch een nieuw mysql.sock.lock bestand aangemaakt wanneer er weer een nodig is.
Samenvatting
MAMP is voor veel WordPress professionals en hobbyisten een populaire lokale WordPress hostingoplossing (let op: het is zeker niet de enige). Er kunnen zich echter problemen voordoen waardoor je server niet kan opstarten, wat uiteindelijk je workflow vertraagt.
In dit artikel hebben we vijf mogelijke oplossingen besproken voor het geval dat Apache of MySQL niet willen starten:
- De document root map herstellen.
- Je listening poort wijzigen.
- Alle MySQL processen stoppen en MAMP herstarten.
- Je MySQL logs wissen.
- Het bestand mysql.sock.lock verwijderen.