ServBay PHP Sürüm Yönetimi: Komut Satırı ve Web Sitesi Ortamı Ayar Rehberi
ServBay, macOS ve Windows için güçlü bir yerel Web geliştirme ortamı aracıdır, birden çok programlama dili ve veritabanını destekler. Bu dokümanda, ServBay’de farklı projeleriniz için PHP sürümlerini esnek bir şekilde nasıl yönetebileceğinizi; buna komut satırında script çalıştırmak ya da belirli bir siteye servis vermek de dahil, detaylı olarak anlatıyoruz. ServBay’in PHP sürüm yönetim mekanizmasını kavrayarak verimliliğinizi artırabilir, proje ortamlarını izole ve stabil tutabilirsiniz.
1. Komut Satırı Ortamı: Proje Bazında PHP Sürümü Yönetimi için .servbay.config
Kullanımı
Proje kök dizininde .servbay.config
dosyası oluşturarak, her proje için bağımsız komut satırı PHP sürümü belirleyebilirsiniz. ServBay, mevcut terminalin bulunduğu dizine göre ilgili PHP ortamını otomatik yükler ve böylece projeler arası sürüm izolasyonu sağlanır; küresel ayarlarda çakışma olmaz.
1.1 .servbay.config
Dosyasının Amacı ve Prensibi
- Proje Bazlı Sürüm Kontrolü: ServBay, birden çok PHP sürümünün aynı anda kurulu ve çalışan olmasını destekler (PHP 5.6’dan en yeniye kadar). Her proje için gerek duyulan PHP sürümünü
.servbay.config
ile hassas biçimde belirleyebilirsiniz. - Yarı Otomatik Geçiş: Terminalde
cd
komutu ile.servbay.config
içeren proje dizinine girdiğinizde, ServBay bu dosyayı algılar ve mevcut oturumun ortam değişkenlerini (özelliklePATH
) geçici olarak değiştirir. Böylecephp
,composer
gibi komutlar, seçtiğiniz PHP sürümünü kullanır. Dizinden ayrıldığınızda ortam tekrar ServBay’in küresel varsayılan ayarına döner; sistemde kalıcı bir değişiklik oluşmaz.
1.2 Nasıl Yapılır?
Projenizin ana dizininde .servbay.config
adında bir dosya oluşturup aşağıdaki gibi sürüm belirtin:
bash
# Bu projede kullanılacak PHP sürümünü belirtin (Örnek: PHP 8.3)
PHP_VERSION=8.3
# Eğer projeniz belirli bir Node.js sürümüne de ihtiyaç duyuyorsa ekleyebilirsiniz (Örnek: Node.js 20)
# NODE_VERSION=20
1
2
3
4
5
2
3
4
5
PHP_VERSION
değeri, ServBay’de kurulu olan PHP sürümüyle (örn:7.4
,8.1
,8.3
,8.5
vs) eşleşmeli. Belirttiğiniz sürümün yüklü ve etkin olduğundan emin olun.- Benzer şekilde, Node.js için
NODE_VERSION
ile sürüm seçebilirsiniz.
Geçerliliğini Kontrol Etmek:
.servbay.config
olan dizinde terminal açıp:
bash
$ pwd # Mevcut konumun proje kök dizini olduğunu kontrol edin
$ php -v # PHP versiyonunun ayarladığınız sürüm olduğundan emin olun (örn: PHP 8.3.x)
$ composer install # Bağımlılık kurulumu mevcut aktif PHP sürümü ile yapılır
1
2
3
2
3
.servbay.config
dosyasını değiştirdiğinizde sürüm geçişi olmadıysa, terminali kapatıp yeniden açın veya cd .
ile ServBay’i tekrar yapılandırmaya zorlayın.
1.3 Dikkat Edilecekler ve İleri Teknikler
- Sürüm Uyumluluğu: Proje çalıştırırken "Class not found", "Call to undefined function" gibi hatalar alırsanız, öncelikle projenizin
composer.json
dosyasındaki PHP gereksinimine ve bağımlılıkların istediği sürüm aralığına bakın. Ayrıca bazı eski projelerin, yeni PHP sürümlerinde artık bulunmayan özellik ya da eklentilere (örn: PHP 7.2’de kaldırılanmcrypt
gibi) ihtiyacı olabilir. - Küresel Varsayılan: Kök dizinde veya üst dizinlerde
.servbay.config
yoksa, ServBay’in grafik arayüzündeki “Ayarlar” bölümünde belirlediğiniz PHP sürümü kullanılacaktır. - Çoklu Servis Birlikteliği:
.servbay.config
ile sadece PHP değil, Node.js sürümünü de (örn:NODE_VERSION
) belirtebilirsiniz. Özellikle, arka ucu PHP ile, ön ucu Node.js tabanlı araçlarla (Webpack, Vite vs.) geliştiren projelerde yararlıdır.
1.4 Çalışma Örneği
Aşağıdaki örnekte, her proje dizininde .servbay.config
ile PHP sürümü otomatik geçiş gösterilmiştir:
Resim açıklaması: ServBay’de, farklı
.servbay.config
dosyaları içeren bir dizine geçip php -v
komutu çalıştırıldığında, terminalde dosyada belirtilen PHP sürümüne otomatik geçiş yapılır.
2. Web Sitesi Ortamı: ServBay Grafik Arayüzüyle PHP Sürümünü Yönetmek
ServBay’in grafik arayüzü, her site için bağımsız bir PHP sürümü atamanızı sağlar. Site ortamındaki PHP sürümü ile komut satırı ortamı birbirinden bağımsızdır; sitenizin gereksinimine göre esnekçe seçebilirsiniz.
2.1 Adım Adım Kurulum
- ServBay Grafik Arayüzünü Açın: ServBay uygulamasını başlatın.
- Site Yönetimi Paneline Girin: Ana ekranda sol menüden Siteler (Websites) sekmesine gidin.
- Site Ekleme veya Düzenleme:
- Sol alttaki + ile yeni site oluşturun.
- Var olan siteyi düzenleyin.
- Site Özelliklerini Ayarlayın:
- Kök Dizin (Root Directory): Sitenizin dosyalarının bulunduğu klasörü belirtin. Genellikle
/Applications/ServBay/www/
altındaki bir alt klasör (örn:/Applications/ServBay/www/your-website-name/public
, Laravel veya Symfony projeleri için) önerilir. - Alan Adı (Domain): Sitenize özel bir yerel alan adı belirleyin (örn:
your-website-name.servbay.demo
). ServBay, bu alan adları için otomatik yerel DNS ve HTTPS sertifikası (ServBay User CA veya ServBay Public CA ile) kurar; geliştirme ve test çok daha kolay olur. - PHP Sürümü (PHP Version): Açılır menüden, site için kullanılacak PHP sürümünü seçin. ServBay, kurulu ve etkin olan tüm PHP sürümlerini listeler (örn: 7.4, 8.1, 8.3, 8.5 vs).
- Kök Dizin (Root Directory): Sitenizin dosyalarının bulunduğu klasörü belirtin. Genellikle
- Kaydedin: Ayarları tamamladıktan sonra kaydedin. ServBay yapılan değişiklikleri otomatik uygular; bazen Web sunucusu ve PHP-FPM süreçlerinin yeniden başlaması gerekebilir.
2.2 Teknik Detaylar ve Avantajlar
- Servis İzolasyonu: ServBay, her site için ayrı bir PHP-FPM process pool (işlem havuzu) oluşturur. Bu sayede her site kendi PHP ortamında izole şekilde çalışır; bir sitedeki hata veya bellek sızıntısı diğer siteleri etkilemez.
- Performans İyileştirme: ServBay’in yazılım paketleri (PHP sürümleri dahil), hem ARM64 (Apple Silicon) hem de X86_64 mimarilerine optimize edilmiştir; donanım farketmeksizin yüksek performans sunar.
- Hata Ayıklama:
- PHP hata günlüğü: Siteyle ilgili PHP hatalarınızı
/Applications/ServBay/var/log/php/php_error.log
dosyasında bulabilirsiniz. - PHP-FPM durum takibi: ServBay’in
servbayctl
komutu ile belirli bir PHP sürümünün durumunu görebilirsiniz (örn:servbayctl status php 8.3
).
- PHP hata günlüğü: Siteyle ilgili PHP hatalarınızı
2.3 Web Sunucusu ve Veritabanı Entegrasyonu
ServBay, Projenizin ihtiyacına uygun web sunucusu ve veritabanı seçmenize olanak tanır:
- Web Sunucusu Desteği: ServBay 1.7.0 ve üstünde, Apache, Nginx ve Caddy arasında kolayca geçiş yapabilirsiniz. Bu sunucular ServBay’in yönetimindeki PHP-FPM süreçleriyle entegre çalışır.
- Veritabanı Yönetimi: ServBay, çoklu MySQL, MariaDB, PostgreSQL, MongoDB ve Redis sürümlerini kurup yönetmenizi destekler. Site ayarından ya da proje kodunuzdan ServBay’de çalışan belirli bir veritabanı örneğine bağlanabilirsiniz. Böylece özgün veya belli bir veritabanı gerektiren projelerde (mesela MariaDB 11.x ile uyumlu bir Laravel projesi gibi) esneklik kazanırsınız.
3. Ortamlar Arası Çalışma ve En İyi Uygulamalar
Komut satırı ile site ortamı PHP sürümü yönetiminin bağımsızlığını ve ayar yöntemlerini bilmek, farklı geliştirme senaryolarında en iyi tercihi yapmanıza yardımcı olur:
Senaryo | Komut Satırı Ortamı (.servbay.config ) | Site Ortamı Ayarı (ServBay GUI) | Açıklama |
---|---|---|---|
Eski Sistem Bakımı | Kök dizinde PHP_VERSION=5.6 belirtin | Site ayarında PHP 5.6 seçin | Eski proje için gerekli PHP sürümü ve eklentilerin ServBay’de kurulu olmasına dikkat edin. |
Yeni Proje Geliştirme (Laravel 11 gibi) | PHP_VERSION=8.3 (ya da üstü), gerekirse NODE_VERSION=20 de ekleyin | Site root'u proje public klasörüne yönelik; PHP 8.3+ ve alan adı ile HTTPS açın | Komut satırı araçları (Composer, Artisan, Node) ile site ortamındaki PHP sürümünün tutarlı olmasına özen gösterin. |
Gelecek PHP Sürümü Testi | Test projesi kökünde PHP_VERSION=8.5 | Test sitesi ekleyip PHP 8.5 seçin | Projenizin yeni PHP sürümleriyle uyumluluğunu önceden sınayabilirsiniz. |
Composer Komutu Çalıştırma | Kök veya üst dizinde .servbay.config ile PHP sürümünü kesinleştirin | N/A (Composer komut satırında çalışır) | Composer, aktif terminaldeki PHP sürümünü kullanır. |
Önemli Noktalar
- CLI ve Web Ortamı Farkı: Aynı sürüm numarasına sahip olsalar bile, komut satırı (CLI) ve Web servisi (PHP-FPM) ortamlarında varsayılan ayarlar ve yüklü eklentiler farklı olabilir. Örneğin,
opcache
eklentisi genellikle PHP-FPM'de varsayılan açık olup, CLI'da kapalıdır. Farklı davranışlarla karşılaşırsanız, her bir ortam içinphp.ini
dosyasını (ServBay’de her PHP sürümünde ayrıphp.ini
bulunur) ve yüklü modülleri kontrol edin. - ServBay Runtime Güncellemesi: ServBay uygulamasını ve Runtime sürümünü güncel tutun. ServBay ekibi düzenli olarak yeni PHP sürümleri ve güvenlik güncellemeleri yayınlar. ServBay'i güncellemek, ilgili Runtime’ı da otomatik günceller ve size en son özellikleri kazandırır.
Sıkça Sorulan Sorular (SSS)
S: Komut satırı ile site ortamında farklı PHP sürümü kullanırsam bir çatışma olur mu?
C: Komut satırı ortamı (.servbay.config
ile ayarlanır) ve site ortamı (ServBay grafik arayüzünden yönetilir) birbirinden bağımsızdır. .servbay.config
, sadece mevcut terminal oturumunda php
komutunun hangi sürüme gideceğini belirler; site ayarı ise Web sunucusunun (Apache/Nginx/Caddy) PHP-FPM ile hangi sürümü kullanıp Web taleplerini işleyeceğini belirler. Doğrudan bir çatışma olmaz. Aynı proje için komut satırında bir PHP sürümü (örneğin Composer ya da Artisan işlemleri için) ve sitede başka bir sürüm atanabilir; fakat ortam uyumluluğu açısından genellikle ikisini aynı tutmak önerilir.
Sonuç
ServBay, hem .servbay.config
dosyası hem de kolay grafik arayüzüyle, geliştiricilere güçlü ve esnek bir PHP sürüm yönetimi sunar. İster eski sürümlere bağımlı eski projeleri, ister en yeni PHP sürümüyle modern uygulamalar geliştiriyor olun, ServBay ile işinizi kolaylaştırabilirsiniz. Bu özelliklerden tam olarak faydalanmak, yerel geliştirme ortamınızı üretim ortamına daha yakın kılar; geliştirici verimliliğini ve proje stabilitesini artırır.