MAMP är ett ovärdeligt verktyg om du utvecklar i OSX, men ibland saknas det en php-modul, exempelvis mssql.so. I dessa fall måste man kompilera modulen själv, här visar jag hur du gör.
1. Installlera systemkrav
Innan du kör igång måste du se till att Xcode, Homebrew och autoconf är installerat. Så fort du har installerat Homebrew kan du köra:
brew install autoconf
2. Ladda ner PHP
När man laddar ner och installerar MAMP följer det inte med någon källkod, som dessvärre behövs när man ska kompilera nya moduler. Källkoden kan laddas ned från MAMPs nedladdningssida. Man kan så klart även ladda ned källkoden från PHP.net, men se till att ladda ned en version som matchar den versionen du använder.
När du har laddat ned rätt version, packa upp den och döp foldern ”php”. Kopiera den här foldern till MAMPs include-katalog. Om du exempelvis använder PHP 5.5.17 är rätt katalog:
/Applications/MAMP/bin/php/php5.5.17/includes/php
När du gjort detta kör du följande:
cd /Applications/MAMP/bin/php/php5.5.17/includes/php ./configure —with-php-config=/Applications/MAMP/bin/php/php5.5.17/bin/php-config
Eventuellt ser du här ett par varningar, men så länge alla header-filer skapas som dom ska bör du kunna kompilera senare.
3. Kompilera din modul
Nu ska det gå att kompilera din PHP-modul med följande kommandon:
cd /path/to/your/module/source /Applications/MAMP/bin/php/php5.5.3/bin/phpize ./configure --with-php-config=/Applications/MAMP/bin/php/php5.5.3/bin/php-config make
4. Installera modulen
När kompileringen är klar har du en fil med namn minmodul.so, denna fil ska kopieras till rätt MAMP-folder:
/Applications/MAMP/bin/php/php5.5.17/lib/php/extensions/no-debug-non-zts-20121212/
Nu kan du aktivera modulen i php.ini som finns i följande folder:
/Applications/MAMP/bin/php/php5.5.17/conf/
I filen lägger du till:
extension=minmodul.so
Spara php.ini, starta om MAMP kontrollera med phpinfo() att din modul är laddad.
5. Felsökning
Om din modul inte laddas som den ska, se i
/Applications/MAMP/logs/php_error.log
efter eventuella fel.