ServBay'de Özel PHP Modüllerinin Derlenmesi ve Kurulumu
ServBay, macOS ve Windows'u destekleyen güçlü bir yerel web geliştirme ortamıdır ve modern web geliştiricilerin ihtiyaçlarını karşılamak için kapsamlı bir yazılım paketi ile birlikte gelir. PHP, Node.js, Python, Go, Java, veritabanı sistemleri (MySQL, PostgreSQL, MongoDB), önbellek sistemleri (Redis) ve web sunucuları (Caddy, Nginx, Apache) gibi birçok teknoloji yığını hazır olarak sunulmaktadır. ServBay, her yazılım için çoklu versiyon desteği sağlayarak proje gereksinimlerinize göre ortamınızı kolayca değiştirme imkânı sunar.
ServBay, birçok yaygın PHP modülüyle birlikte gelse de, özel ihtiyaçlarınız doğrultusunda ek PHP modüllerini derleyip kurmak isteyebilirsiniz. Bu, PHP'nin fonksiyonlarını genişletmek veya belirli üçüncü parti servislerle entegrasyon sağlamak için gereklidir.
Bu rehberde, ServBay ortamında PHP sürümünüz için özel modül derlemesi ve kurulumu adım adım açıklanacaktır. Örnek olarak yaygın şekilde kullanılan imagick (görüntü işleme) modülü ile sqlsrv (Microsoft SQL Server sürücüsü) modülünün derleme süreci ayrıntılı olarak ele alınacaktır. Böylece ServBay ortamınızda PHP'yi ihtiyacınıza uygun şekilde genişletebilirsiniz.
Ön Koşullar
Önemli Uyarı
Herhangi bir PHP modülünü derlemeye başlamadan önce en kritik adım, ServBay resmi dökümantasyonunda anlatıldığı şekilde derleme ortamının başlatılması ve sistem ortam değişkenlerinin doğru şekilde ayarlanmasıdır. Bu adım, ServBay paketlerinin ve PHP modüllerinin başarıyla derlenmesi için şarttır. Eğer bu adım atlanır veya doğru yapılmazsa, takip eden derleme süreçlerinde komutların, kütüphanelerin ya da başlık dosyalarının bulunamaması gibi yüksek oranda hata alınır.
ServBay’in derleme ortamı başlatma betiği, PATH (ServBay’in dahili derleme araçlarını gösterir), SERVBAY_PACKAGE_FULL_PATH (ServBay paket dizinini gösterir) ve CPU_NUMBER (çok çekirdekli derlemeler için kullanılır) gibi gerekli ortam değişkenlerini ayarlar. Bu değişkenler, sonraki derleme komutları için vazgeçilmezdir.
ServBay derleme ortamının nasıl başlatılacağına dair ayrıntılı yönergeler için mutlaka ServBay ile Yeniden Derleme dökümanına göz atın. Lütfen bu dokümanda açıklanan adımları tamamen anlayıp eksiksiz şekilde uyguladığınızdan emin olun.
Modül derlemesine geçmeden önce, yukarıda açıklanan ServBay derleme ortamı başlatma işlemini başarıyla tamamladığınızdan ve ilgili ortam değişkenlerinin mevcut terminal oturumunuzda doğru şekilde ayarlandığından emin olun.
PHP Sürümü Seçmenin Önemi
ServBay’in önemli avantajlarından biri, aynı sistemde birden fazla PHP sürümünün kurulup çalıştırılmasını desteklemesidir. Geliştiriciler farklı projeler için PHP sürümünü kolayca değiştirebilirler. Ancak PHP modülü derlerken özellikle o sürüm için işlem yapmanız gerekir. Derleme ortamının hazırlanması ve sürümün yapılandırma bilgisinin alınmasında kullanılan phpize ve php-config araçları, seçilen PHP sürümüne özel dosyalardır.
phpize: PHP uzantı modülünün derleme ortamını hazırlar;config.m4dosyasını okuyarak standartconfigurebetiğini oluşturur. Bu, C/C++ yazılımı derlemenin ilk adımıdır.php-config: Belirli bir PHP sürümü hakkında derleyici bayrakları, include dizini, kütüphane dizini, uzantı dizini gibi ayrıntılı yapılandırma bilgilerini döner.configurebetiği, modülün hedef PHP sürümüyle uyumlu şekilde oluşturulabilmesi için bu aracı çağırır.
Bu nedenle, phpize, php-config veya başka PHP yapısıyla ilgili komutları kullanırken, derlemek istediğiniz PHP sürümünü tam yolu ile açıkça belirtmelisiniz.
Yol Örnekleri
ServBay’de kurulu PHP 8.3 için modül derlemek isterseniz:
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
Doğru sürümün seçilmesi, modülün hedef PHP ortamınızla uyumlu olmasını sağlar ve derleme/çalıştırma hatalarının önüne geçer.
Bu dokümandaki örnekler, ServBay’de kurulu PHP 8.3 sürümü üzerinden anlatılacaktır. Kendi ortamınızda, komut yollarını ilgili ServBay’deki kendi PHP sürümünüze göre değiştirin.
PHP imagick Modülünün Derlenmesi
imagick, PHP'nin en popüler uzantılarından biridir ve güçlü ImageMagick komut seti kütüphanesi sayesinde kapsamlı görüntü işleme imkânı sunar. Resimleri yeniden boyutlama, kırpma, format dönüştürme, filigran ekleme, görsel birleştirme gibi birçok işlemi PHP üzerinden kolayca gerçekleştirebilirsiniz. ServBay ortamında belirli PHP sürümü için imagick modülünü derleyip kurmak için adımlar şöyledir:
1. Adım: ImageMagick Bağımlılıklarını Kurun
imagick modülü, sisteminizde yüklü olan ImageMagick kütüphanelerine ihtiyaç duyar.
macOS
Homebrew paket yöneticisi ile kolayca kurabilirsiniz. Homebrew kurulu değilse Homebrew Resmi Sitesi üzerinden kurulum yönergelerini takip edebilirsiniz.
Terminali açın ve şu komutu girin:
bash
brew install imagemagick1
Windows
Windows kullanıcılarının ImageMagick’i elle indirip kurması gerekir. ImageMagick Resmi İndirme sayfasından uygun sürümü indirin.
Kurulumda geliştirme kütüphanelerinin de eklendiğinden ve kurulum yolunun sistem ortam değişkenlerine eklendiğinden emin olun.
2. Adım: imagick Modül Kaynağının Edinilmesi
PHP uzantıları (PECL) sitesinden imagick modülünün kaynak paketini indirin. PECL imagick Sayfası yani genellikle en güncel kararlı sürümü seçebilirsiniz. Örneğin, son sürüm olan 3.7.0 ile:
bash
wget https://pecl.php.net/get/imagick-3.7.0.tgz1
3. Adım: Kaynak Paketini Açın ve Dizine Girin
İndirme bitince, paketi tar komutuyla açın ve kaynak dizinine geçin:
bash
tar zxvf imagick-3.7.0.tgz
cd imagick-3.7.01
2
2
4. Adım: Derleme Ortamını Hazırla (phpize Kullanımı)
Modül kaynak dizinindeyken, hedef PHP sürümünüzün phpize aracını kullanarak derleme ortamını hazırlayın. Örneğin, PHP 8.3 için (ve SERVBAY_PACKAGE_FULL_PATH değişkeni ayarlı ise):
bash
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize1
phpize başarılı olursa, config.m4 dosyasını kontrol eder ve gerekli configure betiği ile diğer yapım dosyalarını üretir. Terminalde derleme ortamının hazır olduğunu belirten bir çıktı görürsünüz.
5. Adım: Derleme Seçeneklerini Yapılandırın
Oluşan configure betiği ile derleme seçeneklerini belirleyin. Burada, --with-php-config parametresiyle PHP sürümünüzün php-config yolunu belirtmek gerekir:
bash
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config1
Bu komut, ImageMagick kütüphanelerini/başlık dosyalarını ve PHP yapılandırmasını kontrol ederek uygun bir Makefile oluşturur. Hata çıkarsa genellikle bağımlılıklar eksiktir ya da yollar yanlıştır.
6. Adım: Modülü Derleyin ve Kurun
Yapılandırma ve Makefile oluşturulduysa, şu şekilde derleyin ve kurun:
bash
make -j ${CPU_NUMBER}
make install1
2
2
make install, modül dosyasını ServBay’deki ilgili PHP sürümünün uzantı dizinine kopyalar:
- 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\
Dizinin adı PHP sürümü ve yapı seçimine göre değişebilir.
7. Adım: Modülü Aktifleştirin
Modül dosyası kurulduğunda, hedef PHP sürümünün yapılandırmasında etkinleştirmeniz gerekir. ServBay’in grafik arayüzü ile kolayca yapabilirsiniz.
- ServBay uygulamasını açın
- Sol menüden
Diller>PHP>PHP 8.3kısmına gidin - Sağ panelde
PHPsekmesine tıklayın, sayfanın sonuna inin ve “Ekstra Parametreler” kısmınaextension=imagick.soekleyin Kaydetbutonuna basın; PHP işlemi otomatik olarak yeniden başlayacak ve yeni modülü okuyacaktır

8. Adım: Modülün Yüklendiğini Doğrulayın
Modülü aktifleştirdikten sonra, ServBay’deki PHP paketini yeniden başlatın ki yeni yapılandırma geçerli olsun. ServBay yönetim panelinden ilgili PHP sürümünü bulup yeniden başlatabilirsiniz; veya ServBay’in komut satırı aracını kullanabilirsiniz (detay için ServBay dokümantasyonuna bakın).
PHP’yi yeniden başlatınca, komut satırından aşağıdaki şekilde imagick'in yüklü olup olmadığını kontrol edebilirsiniz:
bash
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php -m | grep imagick1
Burada tam olarak hedef PHP sürümünüzün yolunu kullanıyorsunuz. -m parametresi tüm yüklü PHP modüllerini listeler. imagick yüklenmişse sonuçta “imagick” görmelisiniz.
Daha detaylı doğrulama için web projenizde bir PHP dosyası (örneğin info.php) oluşturup içine <?php phpinfo(); ?> kodunu ekleyebilirsiniz. Web projesinin varsayılan konumu:
- macOS:
/Applications/ServBay/www - Windows:
C:\ServBay\www
Sonrasında http://localhost/info.php veya kendi ServBay domaininiz üzerinden ziyaret edip phpinfo() çıktısında “imagick” aratarak modülün etkin olup olmadığını ve yapılandırma bilgilerini görebilirsiniz.
PHP sqlsrv/pdo_sqlsrv Modülünün Derlenmesi
sqlsrv ve pdo_sqlsrv, PHP için Microsoft SQL Server veritabanı bağlantısı ve işlemleri için kullanılan resmi eklentilerdir. Microsoft’un sunduğu ODBC sürücü üzerine kurulmuştur. ServBay ortamında PHP ile SQL Server’a bağlanmak için bu uzantıların derlenip kurulması gereklidir. ServBay’de bu modüllerin derlenmesi için aşağıdaki adımları izleyin:
Dikkat: Önemli Ön Koşul
sqlsrv modülünü derlemeden önce, mutlaka Microsoft SQL Server ODBC sürücüsünü ve ilgili araçları kurmalısınız. Bunlar ServBay ile hazır gelmez; el ile kurulur.
macOS
Homebrew kullanılması tavsiye edilir. Homebrew kurulu değilse Homebrew Resmi Sitesi üzerinden kurun.
ODBC sürücüsünü ve araçlarını şu komutlarla kurabilirsiniz. Lisans koşullarına onay vermeniz gerekebilir (HOMEBREW_ACCEPT_EULA=Y değişkeni ile):
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
Bu bağımlılıklar, genellikle /opt/homebrew/ (Apple Silicon Mac’ler) veya /usr/local/ (Intel Mac’ler) dizinlerine yüklenir. Derleme sırasında bu yolları doğru göstermelisiniz.
Windows
Windows’ta sürücüyü Microsoft’un sitesinden indirip kurmalısınız:
- Microsoft ODBC Driver for SQL Server sayfasından uygun sürümü indirin ve kurun
- Sürücünün sisteminizde kurulu ve tanımlı olduğundan emin olun
Derlemeden önce bu bağımlılıkların eksiksiz kurulu olduğundan emin olun.
İpucu
sqlsrv ile pdo_sqlsrv ayrı modüllerdir ve ayrı derlenmelidir; fakat prosesleri aynıdır, aşağıda sqlsrv örneği üzerinden anlatılmıştır.
1. Adım: Microsoft ODBC Sürücüsünü ve Araçlarını Kurun
(Yukarıda anlatıldığı gibi Homebrew ile msodbcsql18 ve mssql-tools18 kurulu olmalı.)
2. Adım: sqlsrv Modülü Kaynaklarının Edinilmesi
PECL web sitesinden sqlsrv ve pdo_sqlsrv kaynak paketlerini indirin. PECL sqlsrv Sayfasından istediğiniz sürümün indirme linkini alın. Örneğin, güncel 5.12.0 sürümüyle:
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
3. Adım: Paketi Açın ve Kaynak Dizine Girin
İndirdikten sonra paketi açıp dizine geçin:
bash
tar zxvf sqlsrv-5.12.0.tgz
cd sqlsrv-5.12.0
# pdo_sqlsrv için de aynı adımlar geçerli, aşağıda sqlsrv örneği anlatılacak1
2
3
4
2
3
4
4. Adım: Derleme Ortamını Hazırla (phpize Kullanımı)
Modül kaynak dizininde, hedef PHP sürümünün yolunu kullanarak şu şekilde derleme ortamını başlatın:
bash
${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/phpize1
5. Adım: Derleme Seçeneklerini Yapılandır (Bağımlılık Yollarını Ekleyin)
sqlsrv, Homebrew ile kurulan Microsoft ODBC sürücüsüne ve unixODBC kütüphanesine çok bağımlıdır. configure çalıştırılmadan önce LDFLAGS ve CPPFLAGS değişkenleriyle Homebrew’deki kütüphane ve başlık dosyalarının yollarını belirtmelisiniz. Ayrıca yine --with-php-config ile PHP sürümünüzün yolunu belirtmelisiniz.
Homebrew yolunuz Intel Mac’te genellikle /usr/local, Apple Silicon’da /opt/homebrew olur. Örneğin Apple Silicon için aşağıdaki gibi:
bash
export LDFLAGS="-L/opt/homebrew/lib ${LDFLAGS}"
export CPPFLAGS="-I/opt/homebrew/opt/unixodbc/include -I/opt/homebrew/include ${CPPFLAGS}" # Gerekli tüm başlıklar için /opt/homebrew/include eklendi
./configure --with-php-config=${SERVBAY_PACKAGE_FULL_PATH}/php/8.3/current/bin/php-config1
2
3
2
3
LDFLAGS: Derleyiciye kütüphane yolu belirtir.-L/opt/homebrew/libHomebrew’in varsayılan kütüphane yoludur.CPPFLAGS: Derleyiciye başlık dosyası yollarını belirtir.-I/opt/homebrew/opt/unixodbc/includeunixODBC’in başlık yoludur;-I/opt/homebrew/includeHomebrew’in genel başlık yoludur.${CPPFLAGS}ve${LDFLAGS}ServBay’in zaten ayarlanmış başka bayraklarını korur.
6. Adım: Modülü Derleyip Kurun
Makefile oluştuysa, şu komutlarla derleyip kurabilirsiniz:
bash
make -j ${CPU_NUMBER}
make install1
2
2
Bu komutlar, derlenmiş modül dosyasını ServBay’deki PHP sürümünün uzantı dizinine kopyalar.
7. Adım: Modülü Aktifleştirin
Kurulumdan sonra, modülü hedef PHP yapılandırmasında etkinleştirin. ServBay grafik arayüzüyle kolayca etkinleştirebilirsiniz.
- ServBay uygulamasını açın
- Sol menüde
Diller>PHP>PHP 8.3 - Sağ panelde
PHPsekmesindeyken, “Ekstra Parametreler” kısmınaextension=sqlsrv.soveextension=pdo_sqlsrv.soekleyin Kaydetbutonuna basın; PHP otomatik yeniden başlamalıdır

8. Adım: Modülün Yüklendiğini Doğrulayın
Modülü etkinleştirdikten sonra PHP paketini yeniden başlatmayı unutmayın.
Sonrasında aşağıdaki komutlarla yüklenip yüklenmediğini doğrulayabilirsiniz:
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
Modüller başarılı şekilde yüklenirse çıktı da ilgili isimleri görürsünüz. Ayrıca phpinfo() ile detayları görebilirsiniz.
Sıkça Sorulan Sorular (SSS)
- S: Derleme sırasında "Cannot find autoconf" veya benzeri hata alıyorum?
- C: Bu durum ServBay derleme ortamının doğru başlatılmadığını gösterir. Dokümanın başındaki “Ön Koşullar” bölümünü ve ServBay ile Yeniden Derleme kılavuzunu mutlaka uygulayın. Gerekli derleme araçlarının (autoconf, automake, libtool) kurulu ve ortam değişkenleriyle sisteminizde tanımlı olduğundan emin olun. Genellikle ServBay’in derleme ortamı başlatma betiğini çalıştırıp terminali yeniden başlatmak sorunu çözer.
- S:
configurebetiği hata veriyor ve kütüphane/başlık dosyası bulunamıyor diyor?- C: Hedef modülün bağımlı olduğu bir sistem kütüphanesi/başlık dosyası kurulu değil; ya da kurulu ama yolu doğru girilmedi.
- imagick için: Geliştirme kütüphanesi olan ImageMagick’in kurulu olduğundan emin olun (
brew install imagemagickile). - sqlsrv için: Homebrew ile Microsoft ODBC sürücüsü (
msodbcsql18) vemssql-tools18kesinlikle kurulu olmalı. Ayrıca,./configureöncesiLDFLAGSveCPPFLAGSdeğişkenlerinin Homebrew kütüphaneleri ve başlık dosya yolları (örn./opt/homebrew/lib,/opt/homebrew/opt/unixodbc/include) ile doğru şekilde ayarlandığından emin olun. - ServBay ortam değişkenlerinde Homebrew yolu tanımlı olmalı (bağımlılık Homebrew ile kurulu ise) ya da Homebrew’in bin dizini ServBay’in
PATHdeğişkenine eklenmeli.
- imagick için: Geliştirme kütüphanesi olan ImageMagick’in kurulu olduğundan emin olun (
- C: Hedef modülün bağımlı olduğu bir sistem kütüphanesi/başlık dosyası kurulu değil; ya da kurulu ama yolu doğru girilmedi.
- S:
makeveyamake installaşamasında hata alıyorum?- C: Çoğunlukla şu nedenler yüzündendir:
- Eksik bağımlılık: Hata mesajında hangi dosya/kütüphane eksik olduğu söylenir; eksik olanı kurun.
- Yanlış yapılandırma:
configureadımına ve özellikle--with-php-configile belirttiğiniz yolun doğru olduğuna bakın. ServBay’deki hedef PHP sürümünü gösterdiğinden emin olun. - Yetki sorunu:
make installile dosya ServBay’in PHP uzantı dizinine kopyalanır. Yetki eksikse hata alırsınız; o durumdasudo make installdeneyebilirsiniz (dikkatli olun, riskli olabilir). - Kaynak sorunu: İndirilen modül kaynak paketinde eksiklik/dosya bozulması olabilir.
- C: Çoğunlukla şu nedenler yüzündendir:
- S: Modülün
.sodosyasını derleyip uzantı dizinine yerleştirdim ve.inidosyasında etkinleştirdim, fakatphp -mveyaphpinfo()'da modül görünmüyor?- C:
- En yaygın neden: ServBay’deki PHP paketini yeniden başlatmadınız.
.inidosyası değiştikten sonra ServBay arayüzünden veya komut satırı aracından mutlaka hedef PHP sürümünü tam olarak tekrar başlatın. Web sunucusunu (Caddy/Nginx) veya sayfayı yenilemek yeterli değildir; PHP paketinin kendisini yeniden başlatmalısınız. .inidosyası sentaks hatası: Dosyada yazım veya format hatası olmadığından emin olun (extension=modulename.so).- Uzantı dizini yanlış:
php.ini’dekiextension_dirayarının ServBay’in PHP uzantı dizinini doğru gösterdiğinden emin olun.make install, yolun neresi olduğunuphp-config --extension-dirçıktısına göre belirler. - Modül dosyası bozuk/uyumsuz: Yeniden derleyin, adımları doğru uygulayın. Kullandığınız kaynak kodun kendi PHP sürümünüz ile uyumlu olduğundan emin olun. ServBay log dizininde PHP hata/log dosyalarını da kontrol edin.
- En yaygın neden: ServBay’deki PHP paketini yeniden başlatmadınız.
- C:
Sonuç
Bu dökümandaki adımları izleyerek ServBay ortamınızda imagick ve sqlsrv gibi özel PHP modüllerini başarıyla derleyip kurabilirsiniz. Başarının temel adımları:
- ServBay derleme ortamının tam ve doğru şekilde başlatılması: Tüm derleme işlemlerinin sorunsuz yürütülmesi için şarttır.
- Doğru PHP sürüm yolunun kullanılması:
phpizevephp-configiçin, ServBay’de kurulu hedef PHP sürümünün tam yolunu seçtiğinizden emin olun. - Modülün harici bağımlılıklarının çözülmesi: Modül gereksinimlerine göre ImageMagick, Microsoft ODBC gibi dış sistem kütüphanelerini/araçlarını kurun;
./configureadımında çevre değişkenleriyle veya yapılandırma parametreleriyle yollarını mutlaka belirtin. - Modülün doğru şekilde etkinleştirilmesi: Hedef PHP sürümünün
conf.ddizininde .ini dosyası oluşturupextension=modulename.sosatırıyla yüklenmesini sağlayın. - ServBay’deki PHP paketinin mutlaka yeniden başlatılması: Böylece yeni uzantı yapılandırması geçerli olur.
ServBay, yerel geliştirme ortamı olarak size çok geniş bir esneklik sunar. PHP modülü derlemesinin yanı sıra, MySQL, PostgreSQL, MongoDB, Redis, Caddy, Nginx, Apache, Node.js, Python, Go, Java, .NET, Ruby, Rust ve daha pek çok teknoloji ServBay ile hazır gelir. Ayrıca gerçek SSL sertifikalarını ACME ile edinme, kolay CORS ayarı, otomatik veri yedekleme (ayarlar, siteler, veritabanları, SSL), root veritabanı şifresi sıfırlama, yerel HTTPS için ServBay User CA ve ServBay Public CA desteği gibi birçok yardımcı özellik ile güçlü ve verimli bir yerel geliştirme akışı elde edebilirsiniz.
Bu rehberin, ServBay’de PHP ortamınıza ihtiyaç duyduğunuz fonksiyonları eklemeniz ve daha verimli web geliştirme yapmanız için yardımcı olmasını umuyorum. Başka sorunlarla karşılaşırsanız, ServBay’in resmi dökümantasyonu veya topluluk destek kaynaklarını incelemeniz faydalı olacaktır.
