ServBay PHP Sürüm Yönetimi: Komut Satırı ve Web Sitesi Ortamı Yapılandırma Rehberi
ServBay, macOS için özel olarak tasarlanmış, çoklu programlama dili ve veritabanı desteğine sahip güçlü bir yerel Web geliştirme ortamı aracıdır. Bu makalede, ServBay içerisinde farklı projeleriniz için PHP sürümlerini esnek bir şekilde nasıl yöneteceğinizi; hem komut satırında script çalıştırırken hem de belirli web siteleri sunarken PHP sürümünü nasıl kontrol edeceğinizi detaylıca inceleyeceğiz. ServBay’in PHP sürüm yönetim mekanizmasına hakim olarak, geliştirme verimliliğinizi önemli ölçüde artırabilir, proje ortamlarınızın izolasyonunu ve istikrarını garanti altına alabilirsiniz.
1. Komut Satırı Ortamı: .servbay.config
ile Proje Bazlı PHP Sürümünü Yönetme
Proje kök dizininde bir .servbay.config
yapılandırma dosyası oluşturarak, her proje için bağımsız bir komut satırı PHP sürümü atayabilirsiniz. ServBay, terminalde bulunduğunuz dizine göre otomatik olarak ilgili PHP ortamını yükler; böylece projeler arası sürüm izolasyonu sağlanır ve küresel yapılandırma çakışmalarından kaçınılır.
1. .servbay.config
’in İşlevi ve Çalışma Prensibi
- Proje Düzeyinde Sürüm Kontrolü: ServBay, PHP 5.6’dan en güncel kararlı veya geliştirme sürümlerine kadar birden fazla PHP versiyonunun aynı anda kurulup çalıştırılmasını destekler.
.servbay.config
sayesinde, her bir projede ihtiyaç duyulan PHP sürümünü kesin olarak belirtebilirsiniz. - Etki Etmeyen Sürüm Değişimi: Terminalde
cd
komutuyla.servbay.config
bulunan bir proje klasörüne geçtiğinizde, ServBay bu dosyayı otomatik olarak algılar ve mevcut terminal oturumunun ortam değişkenlerinde (özelliklePATH
) geçici bir değişiklik yapar. Bu sayedephp
,composer
gibi komutlar, belirlenen PHP sürümünün yürütülebilir dosyalarını işaret eder. Klasörden ayrıldığınızda ise ortam ayarları ServBay’in küresel varsayılanına geri yüklenir; bu yöntem sistem ortamınıza hiçbir yan etki bırakmaz.
2. Yapılandırma Yöntemi
Projenizin kök dizininde .servbay.config
adında bir dosya oluşturun ve kullanmak istediğiniz PHP sürümünü belirten şu içeriği ekleyin:
# Bu projede kullanılacak PHP sürümünü belirtin (örnek: PHP 8.3 kullanmak için)
PHP_VERSION=8.3
# Eğer projeniz belirli bir Node.js sürümüne de ihtiyaç duyuyorsa, aşağıdaki gibi belirtin (örnek: Node.js 20)
# NODE_VERSION=20
2
3
4
5
PHP_VERSION
değeri, ServBay’de kurulu olan PHP sürümünü (genellikle ana veya ana-ikincil sürüm numarası şeklinde, ör:7.4
,8.1
,8.3
,8.5
gibi) ifade etmelidir. Seçtiğiniz sürümün ServBay’de kurulu ve etkin olduğundan emin olun.NODE_VERSION
da benzer şekilde kullanılır ve bu projede kullanılacak Node.js sürümünü belirtir.
Etkinliğini Doğrulama:
.servbay.config
dosyası bulunan bir proje dizininde terminali açıp şu komutları çalıştırarak yapılandırmanın geçerli olup olmadığını kontrol edebilirsiniz:
$ pwd # Geçerli dizinin proje kökünüz olduğundan emin olun
$ php -v # PHP sürümünün istediğiniz sürüm (ör: PHP 8.3.x) olup olmadığını kontrol edin
$ composer install # Bağımlılıkların kurulumu seçili PHP sürümüne göre yapılacaktır
2
3
Eğer .servbay.config
dosyanızı güncelledikten sonra sürüm değişikliği gerçekleşmediyse, terminal penceresini kapatıp tekrar açın ya da ServBay’in yapılandırmayı yeniden yüklemesi için cd .
komutunu kullanın.
3. Kullanımda Dikkat Edilmesi Gerekenler ve İleri Teknikler
- Sürüm Uyumluluğu: Proje komutlarını çalıştırırken "Class not found", "Call to undefined function" gibi hatalar alırsanız, öncelikle projenizin bağımlılıklarının (örneğin
composer.json
) istediği PHP sürüm aralığını kontrol edin ve ayarladığınız sürümün proje ile uyumlu olduğundan emin olun. Eski projeler, yeni PHP sürümlerinde kaldırılan eklentilere ya da özelliklere bağlı olabilir (ör: PHP 7.2’de kaldırılanmcrypt
eklentisi). - Küresel Varsayılan: Mevcut dizinde veya üst dizinlerinde
.servbay.config
yoksa, ServBay GUI’de "Ayarlar" kısmında belirlediğiniz küresel varsayılan PHP sürümünü kullanır. - Çoklu Servis Senaryoları:
.servbay.config
sadece PHP değil, isterseniz Node.js sürümünü de (NODE_VERSION
ile) belirtebilir. Özellikle backend olarak PHP, frontend için ise Webpack veya Vite tarzı Node.js tabanlı araçlar kullanan projelerde büyük kolaylık sağlar.
4. Kullanım Örneği
Aşağıda, farklı projelerinizde .servbay.config
ile PHP sürümünün otomatik değişimini gösteren bir örnek yer almaktadır:
Resim açıklaması: ServBay ile, içerisinde farklı
.servbay.config
bulunan dizinlere girip php -v
komutunu çalıştırdığınızda, terminal otomatik olarak dosyada belirtilen PHP sürümüne geçer.
2. Web Sitesi Ortamı: ServBay Görsel Arayüzüyle PHP Sürümünü Yönetme
ServBay’in grafiksel arayüzü, her web sitesine özel PHP sürümü atamanızı sağlayan sezgisel bir yöntem sunar. Web sitesi ortamında kullanılan PHP sürümü ile komut satırı ortamındaki PHP sürümleri birbirinden bağımsız olup, ihtiyaçlarınıza göre özgürce ayarlanabilir.
1. Yapılandırma Süreci
- ServBay Uygulamasını Başlatın: ServBay ana uygulamasını açın.
- Web Site Yönetimi Bölümüne Girin: Ana ekranda sol menüden Web Siteleri (Websites) sekmesini seçin.
- Web Sitesi Ekleyin veya Düzenleyin:
- Sol altta yer alan + butonuyla yeni bir web sitesi yapılandırması ekleyin.
- Ya da mevcut bir siteyi seçip düzenleyin.
- Site Özelliklerini Yapılandırın:
- Kök Dizin (Root Directory): Web sitesi dosyalarınızın bulunduğu klasörü belirtin. ServBay’in standart yolu olan
/Applications/ServBay/www/
altındaki klasörleri seçmeniz tavsiye edilir. Örneğin:/Applications/ServBay/www/your-website-name/public
(Laravel veya Symfony projeleri için). - Alan Adı (Domain): Yerel geliştirme için kullanılan alan adını belirleyin (ör:
your-website-name.servbay.demo
). ServBay, bu tür alan adlarını otomatik olarak yerel DNS’e ekler ve HTTPS sertifikasını (ServBay User CA veya ServBay Public CA üzerinden) otomatik kurar; bu sayede geliştirme ve test süreçleri son derece kolaylaşır. - PHP Sürümü (PHP Version): Açılır menüden, kullanmak istediğiniz PHP sürümünü seçin. ServBay, sistemde kurulu ve etkin olan tüm PHP sürümlerini (ör: 7.4, 8.1, 8.3, 8.5 vb.) burada listeler.
- Kök Dizin (Root Directory): Web sitesi dosyalarınızın bulunduğu klasörü belirtin. ServBay’in standart yolu olan
- Yapılandırmayı Kaydedin: Ayarlamaları tamamlayıp kaydet butonuna tıklayın. ServBay, değişiklikleri otomatik uygular; bazen ilgili Web sunucusunu ya da PHP-FPM sürecini yeniden başlatmanız gerekebilir.
2. Teknik Detaylar ve Avantajlar
- Hizmet İzolasyonu: ServBay, her web sitesi için atanmış PHP sürümünü genellikle bağımsız bir PHP-FPM process pool olarak çalıştırır. Böylece siteler arası ortamlar tamamen izole edilir; bir sitedeki hata veya bellek sızıntısı diğerini etkilemez.
- Performans Optimizasyonu: ServBay’in tüm yazılım paketleri (özellikle PHP sürümleri), ARM64 (Apple Silicon) ve X86_64 mimarileri için özel olarak optimize edilmiştir; farklı donanımlarda da verimli çalışır.
- Hata Takibi:
- PHP hata günlüklerini inceleyin: Web sitesi çalışırken oluşan PHP hataları genellikle
/Applications/ServBay/var/log/php/php_error.log
dosyasında kayıt altına alınır. - PHP-FPM süreç durumunu kontrol edin:
servbayctl
komut satırı aracı ile belirli bir PHP sürümünün durumunu görebilirsiniz (ör:servbayctl status php 8.3
).
- PHP hata günlüklerini inceleyin: Web sitesi çalışırken oluşan PHP hataları genellikle
3. Web Sunucu ve Veritabanı Entegrasyonu
ServBay, projenizin ihtiyacına göre farklı web sunucusu ve veritabanı kombinasyonlarına olanak tanır:
- Web Sunucusu Desteği: ServBay 1.7.0 ve sonrası sürümlerde, Web sitenizin hangi Web sunucusunu kullanacağını kolayca seçebilirsiniz. Apache, Nginx ve Caddy desteği bulunur ve bu sunucularla ServBay’in yönettiği PHP-FPM süreçleri sorunsuzca entegre olur.
- Veritabanı Bağlantıları: ServBay, birden fazla MySQL, MariaDB, PostgreSQL, MongoDB ve Redis veritabanı paketinin kurulumunu ve yönetimini destekler. Web sitesi yapılandırmasında ya da doğrudan proje kodunuzda, ServBay üzerinde çalışan istediğiniz veritabanı örneğine bağlanabilirsiniz. Özellikle, örneğin bazı Laravel projeleri MariaDB 11.x sürümüne daha uyumlu olabilir.
3. Ortamlar Arası İş Birliği ve En İyi Uygulamalar
Komut satırı ve web ortamı arasında PHP sürümü yönetiminin bağımsız işleyişini ve yapılandırma yöntemlerini kavramak, farklı geliştirme senaryolarında en uygun çözümü üretmenizi sağlar:
Senaryo | Komut Satırı Ortamı Yapılandırması (.servbay.config ) | Web Sitesi Yapılandırması (ServBay GUI) | Açıklama |
---|---|---|---|
Eski Sistem Bakımı | Proje kökünde PHP_VERSION=5.6 olarak ayarlayın | Site ayarlarından PHP 5.6 seçin | Eski projede ihtiyaç duyulan PHP sürümünün ve eklentilerin yüklü olması gerekir. |
Yeni Proje Geliştirme (örn. Laravel 11) | PHP_VERSION=8.3 (veya üzeri), isteğe bağlı NODE_VERSION=20 | Yeni bir web sitesi ekleyin, kök dizini projenin public klasörüne ayarlayın, PHP 8.3+ seçin, test domaini ve HTTPS etkinleştirin | Komut satırı araçları (Composer, Artisan, Node vb.) ile Web ortamı PHP sürümünün uyumlu olmasına dikkat edin. |
Gelecekteki PHP Sürümlerinin Testi | Deneme projenizin kökünde PHP_VERSION=8.5 olarak ayarlayın | Test sitesi ekleyip PHP 8.5 seçin | Projelerinizin yeni PHP sürümlerine uyumluluğunu önceden test edebilirsiniz. |
Composer Komutları Çalıştırmak | Geçerli dizin veya üstteki bir dizinde .servbay.config ’de doğru PHP sürümü belirtin | N/A (Composer genellikle komut satırında çalıştırılır) | Composer, geçerli terminal oturumunda aktif olan PHP sürümünü kullanacaktır. |
Dikkat Edilmesi Gerekenler
- CLI ve Web Ortamı Farkları: Aynı sürüm numarasına sahip olsalar bile, komut satırı (CLI) ve Web servisleri (PHP-FPM) varsayılan yapılandırmaları ve yüklenen uzantıları bakımından farklılık gösterebilir. Örneğin,
opcache
uzantısı PHP-FPM’de genellikle performans için varsayılan olarak etkindir, ama CLI modunda devre dışı olabilir. Davranış farkı yaşarsanız ilgili PHP sürümüne aitphp.ini
dosyalarını ve yüklenen eklentileri ayrı ayrı kontrol edin. - ServBay Runtime’ı Güncel Tutun: ServBay uygulamanızın ve Runtime’ın en güncel sürümde olduğundan emin olun. ServBay ekibi, PHP de dahil olmak üzere paketleri ve güvenlik yamalarını düzenli olarak güncellemektedir. ServBay’i güncellemek, Runtime’ı ve bağlı paketleri de güncelleyecektir; böylece en yeni özelliklerden ve iyileştirmelerden faydalanabilirsiniz.
Sıkça Sorulan Sorular (SSS)
S: Komut satırı ve web ortamında PHP sürüm çakışırsa ne olur?
C: Komut satırı ortamı (kontrolü .servbay.config
ile) ve web sitesi ortamı (ServBay GUI üzerinden) birbirinden tamamen bağımsızdır. .servbay.config
, yalnızca mevcut terminal oturumunda php
komutunun hangi sürümü kullanacağını belirler. Web sitesi yapılandırması ise web sunucusunun (Apache/Nginx/Caddy), PHP-FPM üzerinden hangi PHP sürümüyle HTTP isteklerini işleyeceğini ayarlar. Dolayısıyla doğrudan bir çakışma yaşanmaz. Aynı projede, örneğin Composer veya Artisan komutları için bir PHP sürümünü; web’de çalışan site için başka sürümü kullanabilirsiniz! Ancak en verimli ve tutarlı geliştirme için, her iki ortamda da aynı PHP sürümünü kullanmanızı öneririz.
Sonuç
ServBay, gerek .servbay.config
dosyası ile, gerekse sezgisel görsel arayüzüyle, geliştiricilere güçlü ve esnek bir PHP sürüm yönetimi sunar. Eski PHP sürümüne bağımlı projeleri korumak ya da en son PHP ile yeni uygulamalar geliştirmek istiyor olun, ServBay ihtiyaçlarınıza kolaylıkla cevap verir. Bu olanakları doğru kullanarak yerel geliştirme ortamınız ile canlı ortamlarınızı birbirine daha yakın hale getirebilir, çalışmanızı hem verimli hem de kararlı hale getirebilirsiniz.