ServBay PHP-versiebeheer: Gids voor CLI en websiteconfiguratie
ServBay is een krachtig lokaal webontwikkelplatform dat ondersteuning biedt voor macOS en Windows, en verschillende programmeertalen en databases ondersteunt. In dit artikel lees je hoe je in ServBay flexibel verschillende PHP-versies per project kunt beheren. Dit geldt zowel voor het uitvoeren van scripts via de commandoregel als voor het leveren van diensten aan specifieke websites. Door het beheersysteem van ServBay te begrijpen, verhoog je niet alleen je productiviteit, maar zorg je ook voor geoptimaliseerde projectisolatie en stabiliteit.
1. CLI-omgeving: Project-specifiek PHP-beheer met .servbay.config
Door een .servbay.config bestand aan te maken in de hoofdmap van je project, kun je per project een specifieke PHP-versie toewijzen aan de commandoregel. ServBay laadt automatisch het juiste PHP-platform op basis van de locatie in de terminal, waardoor versie-isolatie tussen projecten ontstaat en conflicten met globale instellingen worden voorkomen.
1.1 Doel en werking van .servbay.config
- Project-gebaseerde versiecontrole: ServBay laat toe om meerdere PHP-versies naast elkaar te installeren en te gebruiken, van PHP 5.6 tot de nieuwste (stabiele en ontwikkel) versies. Met
.servbay.configbepaal je per project precies welke PHP-versie benodigd is. - Naadloze omschakeling: Wanneer je via de terminal met
cdnaar een projectmap met een.servbay.configbestand navigeert, detecteert ServBay dit bestand en past tijdelijk de omgeving variabelen (met namePATH) van de actieve terminalsessie aan. Hierdoor verwijzen commando’s zoalsphpencomposerdirect naar de juiste PHP-variant. Verlaat je de map, dan herstelt ServBay naar de globale standaardinstellingen. Dit heeft geen neveneffecten op het systeem.
1.2 Hoe configureer je dit?
Maak in de hoofdmap van je project het bestand .servbay.config aan en geef bijvoorbeeld het volgende aan om een gewenste PHP-versie te kiezen:
bash
# Geef aan welke PHP-versie in dit project gebruikt moet worden (voorbeeld: PHP 8.3)
PHP_VERSION=8.3
# Indien je project ook afhankelijk is van een specifieke Node.js versie, kun je deze meegeven (voorbeeld: Node.js 20)
# NODE_VERSION=201
2
3
4
5
2
3
4
5
- De waarde van
PHP_VERSIONis het versienummer zoals geïnstalleerd in ServBay, bijvoorbeeld7.4,8.1,8.3,8.5etc. Zorg dat de aangeduide versie reeds geïnstalleerd en actief is in ServBay. - Op dezelfde manier kun je met
NODE_VERSIONde benodigde Node.js versie specificeren.
Activeringscheck:
Navigeer naar de projectmap met .servbay.config in de terminal en controleer als volgt:
bash
$ pwd # Controleer of je in de juiste hoofddirectory bent
$ php -v # Check of de getoonde PHP-versie overeenkomt met de configuratie (bv. PHP 8.3.x)
$ composer install # Dependency-resolutie en installatie gebeurt op de geactiveerde PHP-versie1
2
3
2
3
Merk je dat na het aanpassen van .servbay.config de versie niet omschakelt? Sluit de terminal en open hem opnieuw, of voer cd . uit om ServBay te forceren de configuratie opnieuw te laden.
1.3 Tips en geavanceerde aandachtspunten
- Versiecompatibiliteit: Krijg je fouten zoals 'Class not found' of 'Call to undefined function'? Controleer dan eerst de vereiste PHP-versie in de projectafhankelijkheden (
composer.json) en of de geconfigureerde PHP-versie compatibel is. Sommige verouderde projecten vertrouwen op extensies die in nieuwere PHP-versies verwijderd zijn (zoalsmcryptin PHP 7.2). - Globale standaardwaarden: Indien in de huidige en bovenliggende mappen geen
.servbay.configte vinden is, gebruikt ServBay de globale PHP-standaard uit de GUI-instellingen. - Meerdere diensten: Behalve PHP-versies, kun je in
.servbay.configook Node.js-versies toewijzen viaNODE_VERSION. Handig als je PHP als backend gebruikt en Node.js als front-end tooling (zoals met Webpack en Vite).
1.4 Praktijkvoorbeeld
Hieronder een demonstratie van automatische PHP-versiewisseling per projectmap via .servbay.config:
Afbeeldingsbeschrijving: In ServBay wissel je bij het navigeren naar mappen met verschillende .servbay.config bestanden automatisch naar de gespecificeerde PHP-versie, te tonen via het php -v commando.
2. Website-omgeving: PHP-versiebeheer via ServBay GUI
Via de grafische interface van ServBay kun je per website een aparte PHP-versie toewijzen. De PHP-instelling van een website is geheel gescheiden van de CLI-omgeving; je kiest flexibel de gewenste versie per projectsite.
2.1 Stappenplan voor configuratie
- Start ServBay GUI: Open de ServBay applicatie.
- Ga naar sitebeheer: Klik links in het hoofdmenu op de tab Websites.
- Website toevoegen of bewerken:
- Klik links onderin op de + voor een nieuwe siteconfiguratie.
- Of kies een site die je wilt aanpassen.
- Site eigenschappen instellen:
- Root Directory (hoofdmap van de site): Geef hier de map aan waar je sitebestanden staan. Aanbevolen is een submap onder de ServBay standaardsite-locatie, bijvoorbeeld:
/Applications/ServBay/www/your-website-name/public(voor o.a. Laravel of Symfony). - Domain (domein): Stel het lokale domein in, bijvoorbeeld
your-website-name.servbay.demo. ServBay configureert automatisch lokale DNS en HTTPS-certificaten (via ServBay User CA of ServBay Public CA) voor gemak in ontwikkeling en testen. - PHP Version (PHP-versie): Kies in de dropdown de gewenste PHP-versie voor deze site. ServBay toont alle geïnstalleerde en ingeschakelde PHP-versies zoals 7.4, 8.1, 8.3, 8.5 enz.
- Root Directory (hoofdmap van de site): Geef hier de map aan waar je sitebestanden staan. Aanbevolen is een submap onder de ServBay standaardsite-locatie, bijvoorbeeld:
- Configuratie opslaan: Na instellen klik je op opslaan. ServBay past de wijzigingen automatisch toe, wat het herstarten van webserver en PHP-FPM kan vereisen.
2.2 Technische details & voordelen
- Service-isolatie: Iedere website draait met een eigen PHP-versie in een aparte PHP-FPM pool. Zo zijn PHP-omgevingen tussen sites volledig gescheiden, zodat fouten of geheugenvreters op één site geen impact hebben op andere sites.
- Geoptimaliseerde prestaties: ServBay pakketten, inclusief alle PHP-versies, zijn geoptimaliseerd voor zowel ARM64 (Apple Silicon) als X86_64, dus goede performance op elke hardware.
- Foutopsporing:
- Check PHP-foutlogs: PHP-fouten van je site vind je in
/Applications/ServBay/var/log/php/php_error.log. - Controleer PHP-FPM status: Gebruik het ServBay CLI-tool
servbayctlzoalsservbayctl status php 8.3voor statusinformatie per PHP-versie.
- Check PHP-foutlogs: PHP-fouten van je site vind je in
2.3 Integratie met webservers & databases
ServBay biedt uitgebreide flexibiliteit, zodat je projecten met verschillende webservers en databases kunt combineren:
- Webserveropties: Vanaf ServBay 1.7.0 schakel je eenvoudig tussen Apache, Nginx en Caddy per website. Deze zijn naadloos geïntegreerd met ServBay’s PHP-FPM beheer.
- Database-integratie: ServBay ondersteunt meerdere MySQL-, MariaDB-, PostgreSQL-, MongoDB- en Redis-versies. In de siteconfiguratie, of projectcode, kun je verbinden met een specifieke database-instance uit ServBay — ideaal voor projecten die een bepaalde databasetype of -versie vereisen (zoals Laravel-projecten die MariaDB 11.x prefereren).
3. Samenwerking tussen omgevingen & best practices
Door het verschil en de instellingswijze tussen CLI- en site-omgeving te begrijpen, maak je per ontwikkelsituatie de beste keuze:
| Scenario | CLI-omgeving (.servbay.config) | Website-omgeving (via ServBay GUI) | Opmerking |
|---|---|---|---|
| Onderhoud legacy-projecten | .servbay.config met PHP_VERSION=5.6 | Selecteer PHP 5.6 in siteconfiguratie | Zorg dat alle vereist legacy PHP-versies en extensies geïnstalleerd zijn. |
| Nieuw project ontwikkelen (bv. Laravel 11) | PHP_VERSION=8.3 (of hoger), eventueel ook NODE_VERSION=20 | Voeg site toe, root map wijst naar public folder, kies PHP 8.3+, configureer domein en HTTPS | Houd CLI-tools (Composer, Artisan, Node-buildtools) gelijk aan de live PHP-versie. |
| Toekomstige PHP-versie testen | .servbay.config met PHP_VERSION=8.5 | Site toevoegen met PHP 8.5 | Toets projectcompatibiliteit met nieuwe PHP-versies vooraf. |
| Composer-commando's draaien | .servbay.config (of bovenliggende map) met juiste PHP-versie | Nvt (Composer draait doorgaans via CLI) | Composer gebruikt de actieve PHP-versie van je terminalomgeving. |
Let op
- Verschil CLI en Web-omgeving: Mocht je dezelfde PHP-versie gebruiken voor CLI en webserver, besef dat configuratie (zoals geladen extensies) toch kunnen verschillen. Bijvoorbeeld,
opcacheis default actief bij PHP-FPM (voor betere performance), maar vaak uitgeschakeld bij CLI. Controleer bij afwijkend gedrag de relevantephp.inibestanden (ServBay heeft er één per PHP-versie) en de actieve extensies. - Update ServBay Runtime: Houd ServBay en de bijbehorende Runtime-versie up-to-date. Het ServBay-team brengt regelmatig updates uit voor softwarepakketten, PHP-releases en beveiligingspatches. Meestal wordt bij het bijwerken van ServBay de Runtime automatisch meegenomen, zodat je altijd toegang hebt tot de laatste verbeteringen.
Veelgestelde vragen (FAQ)
Vraag: Wat als PHP-versies van CLI en website botsen?
Antwoord: De commandoregelomgeving (via .servbay.config) en de website-instelling (via ServBay GUI) zijn volledig gescheiden. .servbay.config bepaalt enkel welke PHP-versie in je terminal wordt gebruikt; siteconfiguratie regelt welke PHP-versie de webserver (Apache/Nginx/Caddy via PHP-FPM) gebruikt. Hier ontstaat dus geen direct conflict. Je mag voor één project verschillende PHP-versies kiezen (CLI bijvoorbeeld voor Composer of Artisan, web voor de site zelf), maar dit wordt niet aangeraden. Voor consistentie en betrouwbaarheid kun je beide het beste op dezelfde PHP-versie houden.
Samenvatting
ServBay biedt ontwikkelaars krachtig en flexibel PHP-versiebeheer via het .servbay.config bestand en de overzichtelijke grafische interface. Of je nu legacy-projecten onderhoudt die oude PHP-versies vereisen, of juist de nieuwste PHP-releases wilt testen, met ServBay werk je snel en stabiel. Door de functies optimaal te benutten, breng je je lokale omgeving dichter bij productie en verstevig je je workflow en projectveiligheid.
