Aangepaste PHP-modules compileren en installeren in ServBay
ServBay is een krachtige lokale webontwikkelomgeving voor zowel macOS als Windows. Het biedt een uitgebreid pakket aan tools die voldoen aan de eisen van moderne ontwikkelaars. Standaard bevat ServBay diverse technologieën zoals PHP, Node.js, Python, Go, Java, databases (MySQL, PostgreSQL, MongoDB), caches (Redis) en webservers (Caddy, Nginx, Apache). Voor ieder softwarepakket zijn er meerdere versies beschikbaar, zodat je eenvoudig je ontwikkelomgeving aanpast aan de behoeften van elk project.
Hoewel ServBay veelgebruikte PHP-modules al geïnstalleerd heeft, zijn er situaties waarin je extra PHP-extensies zelf moet compileren en installeren – bijvoorbeeld om extra functionaliteit toe te voegen of specifieke third-party integraties te gebruiken.
In deze handleiding ontdek je stap-voor-stap hoe je binnen ServBay een aangepaste PHP-module compileert en installeert voor jouw project. Als voorbeeld worden de populaire extensies imagick (voor beeldbewerking) en sqlsrv (Microsoft SQL Server database driver) gebruikt. Volg dit proces en voeg eenvoudig de gewenste functionaliteiten toe aan jouw ServBay PHP-omgeving.
Vereisten
Belangrijk
Voor je begint aan het compileren van PHP-modules, is het essentieel om eerst, volgens de officiële ServBay-documentatie, de bouwomgeving te initialiseren en de systeemvariabelen correct in te stellen. Zonder deze stap zullen bouwopdrachten waarschijnlijk mislukken en tref je veel voorkomende fouten als ontbrekende commando’s, libraries of headerbestanden.
Het initialisatiescript van ServBay configureert noodzakelijke omgevingsvariabelen zoals PATH (voor ServBay's interne buildtools), SERVBAY_PACKAGE_FULL_PATH (de rootmap van ServBay-pakketten) en CPU_NUMBER (voor multicore compilatie). Deze variabelen zijn cruciaal voor de bouwstappen die hierna volgen.
Bekijk de documentatie voor een gedetailleerde uitleg: Compileren met ServBay. Zorg dat je deze instructies goed begrijpt en strikt opvolgt.
Ga pas door met het compileren van modules wanneer je ServBay’s bouwomgeving succesvol hebt geïnitialiseerd en alle relevante omgevingsvariabelen kloppen in je huidige commandline sessie.
Het belang van specificeren van de PHP-versie
Een belangrijke eigenschap van ServBay is dat meerdere PHP-versies naast elkaar mogelijk zijn. Zo kun je snel schakelen tussen ontwikkelomgevingen voor verschillende projecten. Bij het compileren van PHP-modules is het noodzakelijk om dit te doen voor een specifieke PHP-versie, want tools als phpize en php-config zijn direct gekoppeld aan een PHP-versie.
phpize: Bereidt de buildomgeving voor een PHP-extensie voor en genereert het standaardconfigurescript op basis van hetconfig.m4bestand.php-config: Geeft buildinformatie zoals compiler-flags, include-mappen, library-mappen en extensie-installatiemap door voor de gekozen PHP-versie.
Gebruik altijd het volledige pad naar de juiste phpize en php-config voor de versie waarvoor je compileert.
Voorbeeldpaden
Stel je wilt een module compileren voor PHP 8.3 binnen ServBay:
macOS:
phpize:/Applications/ServBay/package/php/8.3/current/bin/phpizephp-config:/Applications/ServBay/package/php/8.3/current/bin/php-config
Windows:
phpize:C:\ServBay\package\php\8.3\current\bin\phpizephp-config:C:\ServBay\package\php\8.3\current\bin\php-config
Door het juiste pad te kiezen, weet je zeker dat de module compatibel is met de beoogde PHP-omgeving en voorkom je fouten als ontbrekende symbolen.
De voorbeelden in deze handleiding zijn gebaseerd op PHP 8.3 in ServBay. Pas bij concrete implementatie altijd de paden aan naar jouw specifieke PHP-versie.
Het imagick PHP-module compileren
imagick is een populaire PHP-extensie die gebruikmaakt van de krachtige ImageMagick-toolkit voor beeldbewerking. Met imagick kun je binnen PHP afbeeldingen schalen, bijsnijden, converteren, watermerken toevoegen en complexe beeldbewerkingen doen. Hieronder vind je het volledige proces voor het compileren en installeren van de imagick-module in ServBay voor een specifieke PHP-versie.
Stap 1: ImageMagick library installeren
imagick is afhankelijk van een op het systeem geïnstalleerde ImageMagick library.
macOS
Installeer ImageMagick eenvoudig via Homebrew. Als Homebrew nog niet geïnstalleerd is, ga naar de officiële Homebrew-website.
Open Terminal en voer uit:
bash
brew install imagemagick1
Windows
Download en installeer ImageMagick handmatig via de officiële ImageMagick downloadpagina.
Let op: Kies een versie met ontwikkelbestanden en voeg de installatiepath toe aan je systeemvariabelen.
Stap 2: imagick modulebron downloaden
Download de broncode van de imagick-extensie van de officiële PECL-website: PECL imagick. Kies een geschikte release (meestal de nieuwste stabiele versie). Voorbeeld: versie 3.7.0:
bash
wget https://pecl.php.net/get/imagick-3.7.0.tgz1
Stap 3: Bron uitpakken en map openen
Na downloaden, pak het uit en ga naar de map:
bash
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.01
2
2
Stap 4: Buildomgeving voorbereiden (phpize gebruiken)
Gebruik binnen de map het juiste phpize-commando van de doelversie. Als je voor PHP 8.3 compileert en de SERVBAY_PACKAGE_FULL_PATH is ingesteld:
bash
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize1
Na dit commando worden het configure script en overige buildbestanden gegenereerd. Je ziet in Terminal een overzicht dat de buildomgeving klaar is.
Stap 5: Buildopties configureren
Voer het gegenereerde configure script uit en wijs via --with-php-config het pad naar de juiste php-config toe:
bash
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config1
Het script controleert de aanwezigheid van ImageMagick-libraries. Fouten wijzen vaak op ontbrekende libraries of een fout pad.
Stap 6: Module compileren en installeren
Na succesvolle configuratie compileer je de module met make, en installeer je die met make install. ${CPU_NUMBER} versnelt de build door multicore-ondersteuning.
bash
make -j ${CPU_NUMBER}
make install1
2
2
Het resultaat wordt geplaatst in de standaard extensiemap voor de gekozen ServBay PHP-versie:
- macOS:
/Applications/ServBay/package/php/8.3/current/lib/php/extensions/no-debug-non-zts-YYYYMMDD/ - Windows:
C:\ServBay\package\php\8.3\current\lib\php\extensions\no-debug-non-zts-YYYYMMDD\
Het exacte pad verschilt per versie en build-opties.
Stap 7: Module inschakelen
Na installatie moet je de module activeren in het configuratiebestand van de juiste PHP-versie. ServBay heeft een GUI hiervoor:
- Open ServBay
- Navigeer links naar
Talen-PHP-PHP 8.3 - Kies rechts het tabblad
PHP, scroll naar ‘Extra parameters’ en voegextension=imagick.sotoe - Klik op
Opslaan; hierdoor zal PHP automatisch herstarten

Stap 8: Module laden controleren
Herstart nu ServBay’s PHP-pakket zodat de nieuwe configuratie actief wordt. Je kunt via de ServBay-interface of eventueel de commandline herstarten (zie documentatie voor exacte commando’s).
Controleer in Terminal of imagick geladen is:
bash
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php -m | grep imagick1
Je gebruikt $SERVBAY_PACKAGE_FULL_PATH/php/8.3/current/bin/php om de juiste PHP-versie aan te roepen. -m toont alle geladen modules. Zie je imagick in het resultaat, dan is alles geslaagd.
Voor uitgebreidere controle kun je in de webroot (/Applications/ServBay/www voor macOS, C:\ServBay\www voor Windows) een info.php aanmaken met <?php phpinfo(); ?> en die openen via de browser (bijvoorbeeld http://localhost/info.php). Zoek dan naar “imagick” op de pagina – zo zie je versienummer en configuratie.
Het sqlsrv/pdo_sqlsrv PHP-module compileren
sqlsrv en pdo_sqlsrv zijn officiële PHP-drivers voor interactie met Microsoft SQL Server via ODBC. Binnen ServBay moet je deze modules zelf compileren en installeren als je SQL Server wilt gebruiken. Hier vind je de stappen voor het werken met deze modules.
Let op: Belangrijke vereisten
Voor je begint moet je eerst de Microsoft SQL Server ODBC-driver en bijbehorende tools installeren. Deze zijn niet standaard in ServBay inbegrepen en moeten handmatig worden toegevoegd.
macOS
Gebruik Homebrew om deze afhankelijkheden te installeren. Zie Homebrew Website.
Installeer met onderstaande commando's (accepteer eventueel de licentie via HOMEBREW_ACCEPT_EULA=Y):
bash
brew tap microsoft/mssql-release https://github.com/Microsoft/homebrew-mssql-release
brew update
HOMEBREW_ACCEPT_EULA=Y brew install msodbcsql18 mssql-tools181
2
3
2
3
De libraries worden meestal geplaatst onder /opt/homebrew/ (Apple Silicon) of /usr/local/ (Intel Mac). Gebruik het juiste pad bij het compileren.
Windows
Download via de officiële Microsoft-pagina: Microsoft ODBC Driver for SQL Server, installeer de juiste versie, en controleer dat de driver beschikbaar is.
Zorg dat deze stap voltooid is voor je begint aan de daadwerkelijke module-build.
Tip
sqlsrv en pdo_sqlsrv zijn aparte modules die je los compileert, maar de stappen zijn vrijwel identiek. Hieronder wordt éénmalig het proces voor sqlsrv beschreven.
Stap 1: Microsoft ODBC-driver en tools installeren
(Zoals hierboven, dit is de voorbereidende stap. Zorg dat msodbcsql18 en mssql-tools18 zijn geïnstalleerd via Homebrew.)
Stap 2: sqlsrv modulebron downloaden
Download de broncode via PECL: PECL sqlsrv. Kies een actuele versie, bijvoorbeeld 5.12.0:
bash
wget https://pecl.php.net/get/sqlsrv-5.12.0.tgz # sqlsrv
wget https://pecl.php.net/get/pdo_sqlsrv-5.12.0.tgz # pdo_sqlsrv1
2
2
Stap 3: Bron uitpakken en map openen
Pak uit en ga naar de bronmap:
bash
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
# Voor pdo_sqlsrv geldt hetzelfde; hieronder het proces voor sqlsrv1
2
3
4
2
3
4
Stap 4: Buildomgeving voorbereiden (phpize gebruiken)
Gebruik binnen de map het juiste phpize-pad, bijvoorbeeld voor PHP 8.3:
bash
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize1
Stap 5: Buildopties en afhankelijkheden instellen
Voordat je ./configure start, stel je omgevingsvariabelen in zodat het script de juiste libraries en headerbestanden vindt. Dit doe je met LDFLAGS en CPPFLAGS, afhankelijk van waar Homebrew libraries geïnstalleerd zijn (Intel /usr/local, Silicon /opt/homebrew). Voorbeeld voor Apple Silicon:
bash
export LDFLAGS="-L/opt/homebrew/lib ${LDFLAGS}"
export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include -I/opt/homebrew/include ${CPPFLAGS}" # Inclusief /opt/homebrew/include
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config1
2
3
2
3
LDFLAGS: Geeft de linker de juiste library-zoekpaden.CPPFLAGS: Wijst naar de relevante include-dirs, met name unixODBC.
Stap 6: Module compileren en installeren
Compileer en installeer:
bash
make -j ${CPU_NUMBER}
make install1
2
2
Na installatie verschijnen de .so bestanden in de ServBay extensiemap voor de juiste PHP-versie.
Stap 7: Module inschakelen
Activeer de modules in ServBay's GUI:
- Open ServBay
- Navigeer naar
Talen-PHP-PHP 8.3 - Kies het
PHP-tabblad, scroll naar ‘Extra parameters’ en voegextension=sqlsrv.soenextension=pdo_sqlsrv.sotoe - Klik op
Opslaan; PHP wordt automatisch herstart

Stap 8: Module laden controleren
Herstart het PHP-pakket in ServBay en controleer via Terminal:
bash
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php -m | grep sqlsrv
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php -m | grep pdo_sqlsrv1
2
2
Worden de modules weergegeven, dan zijn ze actief. Ook kun je via phpinfo() de modulestatus en -details bekijken.
Veelgestelde vragen (FAQ)
- Vraag: Bij compileren 'Cannot find autoconf' of soortgelijke foutmelding?
- Antwoord: Dit duidt er vrijwel altijd op dat ServBay’s bouwomgeving niet goed is geïnitialiseerd. Controleer de “Vereisten” en volg Compileren met ServBay nauwkeurig. Controleer of tools als autoconf, automake, libtool beschikbaar zijn via de juiste paden. Meestal is het voldoende om opnieuw het ServBay-initialisatiescript te draaien en Terminal te herstarten.
- Vraag:
configurescript faalt met melding over ontbrekende libraries of headers?- Antwoord: Waarschijnlijk zijn noodzakelijke system-libraries niet geïnstalleerd of vindt het script ze niet:
- Voor
imagick: Installeer de ontwikkelversie van ImageMagick, bijvoorbeeld viabrew install imagemagick. - Voor
sqlsrv: Controleer of via Homebrew de Microsoft ODBC-driver (msodbcsql18) enmssql-tools18zijn geïnstalleerd. Check ook of deLDFLAGSenCPPFLAGSvariabelen juist verwijzen naar Homebrew's library/headers (zoals/opt/homebrew/lib,/opt/homebrew/opt/unixodbc/include). - Kijk of ServBay’s bouwomgeving Homebrew's paden kent. Voeg desnoods Homebrew’s bin-map handmatig toe aan PATH.
- Voor
- Antwoord: Waarschijnlijk zijn noodzakelijke system-libraries niet geïnstalleerd of vindt het script ze niet:
- Vraag: ‘make’ of ‘make install’ mislukt?
- Antwoord: Dat kan verschillende oorzaken hebben:
- Ontbrekende dependencies: Controleer de foutmelding, meestal geeft die aan welk bestand of library ontbreekt. Installeer desgewenst de juiste pakketten.
- Configuratiefout: Herzie de stappen onder
configure, vooral het pad naar--with-php-config. - Toegangsrechtproblemen: Tijdens ‘make install’ kunnen permissie-fouten optreden wanneer naar ServBay´s installatiemap wordt geschreven. Overweeg voorzichtig
sudo make install. - Beschadigde broncode: Controleer of de source tarball correct is.
- Antwoord: Dat kan verschillende oorzaken hebben:
- Vraag:
.somodulebestand geplaatst én geactiveerd in.ini, maar niet zichtbaar viaphp -mofphpinfo()?- Antwoord:
- Meest voorkomend: PHP-pakket in ServBay is niet opnieuw gestart na het wijzigen van
.ini. Altijd het doelpakket volledig herstarten via ServBay - een simpele webserver-restart is niet voldoende. - Fout in
.ini: Controleer spelling en format (extension=modulenaam.so). - Fout in extensiepad: Check of
extension_dirinphp.ininaar de juiste map verwijst (php-config --extension-dir). - Beschadigd of incompatibel modulebestand: Compileer opnieuw en verifieer de versiecompatibiliteit. Raadpleeg eventueel ServBay's logfiles.
- Meest voorkomend: PHP-pakket in ServBay is niet opnieuw gestart na het wijzigen van
- Antwoord:
Samenvatting
Door het stappenplan in deze handleiding te volgen kun je in ServBay eenvoudig aangepaste PHP-modules compileren en installeren, zoals imagick en sqlsrv. De belangrijkste punten zijn:
- Bouwomgeving correct initialiseren: Zonder goed ingestelde omgevingsvariabelen verloopt de build niet vlekkeloos.
- Altijd het juiste PHP-versiepad gebruiken: Voer alle bouwstappen uit via de paden van jouw gekozen PHP-versie.
- Afhankelijkheden installeren en juist instellen: Installeer system-libraries (ImageMagick, Microsoft ODBC), en geef de juiste paden mee bij
./configurevia omgevingsvariabelen. - Module activeren: Gebruik een
.iniconfiguratiebestand metextension=modulenaam.so. - Herstart het PHP-pakket in ServBay: Pas dan wordt de extensie daadwerkelijk geladen.
ServBay ondersteunt een breed scala aan technologieën waaronder MySQL, PostgreSQL, MongoDB, Redis, Caddy, Nginx, Apache, Node.js, Python, Go, Java, .NET, Ruby, Rust, enzovoort. Ook zijn er veel handige features aanwezig, zoals ACME SSL-certificaten, eenvoudige CORS-configuratie, automatische data- en SSL-backup, root-wachtwoord-reset voor databases en ondersteuning voor lokale HTTPS via eigen ServBay CA’s.
Hopelijk helpt deze gids je om snel extra functionaliteit aan jouw ServBay PHP-omgeving toe te voegen, zodat je nog efficiënter en flexibeler webapplicaties ontwikkelt. Voor verdere vragen raadpleeg zeker ServBay's officiële documentatie of neem deel aan de community.
