ServBay Çoklu Ortam Yapılandırma Kılavuzu: Komut Satırı ve Web Hizmetlerinin PHP Sürüm Yönetimi
I. Komut Satırı Ortamı: .servbay.config
Derin Uygulaması
Proje bazlı yapılandırma dosyası .servbay.config
aracılığıyla, geliştiriciler komut satırı ortamındaki PHP sürümünü hassas bir şekilde kontrol edebilir ve birden fazla projeyi eş zamanlı olarak geliştirebilir ve sürüm izolasyonu sağlayabilir.
1. Temel Özellikler ve İlke
• Çoklu sürüm birlikte varlık: ServBay, PHP 5.6'dan 8.5-dev'e kadar tüm sürümlerin birlikte varlığını doğal olarak destekler ve her projenin kendi yapılandırma dosyasıyla gerekli sürümü belirtmesine olanak tanır.
• İnsafsız geçiş: Komut yürütüldüğünde, ServBay otomatik olarak proje dizininde bulunan .servbay.config
dosyasını tanır ve ilgili PHP ortamını dinamik olarak yükler, böylece global yapılandırma çakışmalarından kaçınır.
2. Yapılandırma Yöntemi
Proje ana dizininde .servbay.config
dosyası oluşturun ve aşağıdaki içeriği ekleyin:
# PHP sürümü belirtin (örnek: PHP 8.5-dev)
PHP_VERSION=8.5
2
Geçerlilik doğrulama:
$ php -v # Çıktı versiyonu 8.5 olmalıdır
$ composer install # Bağımlılık çözümü mevcut PHP sürümüne dayanmaktadır
2
3. İleri Teknikler ve Sınırlamalar
• Sürüm uyumluluğu kontrolü: "Class not found" gibi hatalarla karşılaşıldığında, bağımlılık paketlerinin belirtilen PHP sürümü ile uyumluluğunu doğrulamak gerekir (örneğin, PHP 8.x'in kaldırdığı mcrypt
uzantısı).
• Global varsayılan değerler: Yapılandırma yapılmadığında, ServBay global varsayılan sürümünü kullanır (bu ayar ServBay'in ayarlar
bölümünden değiştirilebilir).
• Çoklu hizmet işbirliği: Node.js sürüm yapılandırması ile birleştirerek (örneğin NODE_VERSION=20
), PHP + Node.js çift ortam kontrolü sağlanabilir.
4. Çalışma Örneği
Aşağıda, .servbay.config
dosyasının çalışma mekanizmasını gerçek bir örnekle gösterelim.
II. Web Hizmeti Ortamı: Çoklu Sürüm PHP'nin Web Seviye Yönetimi
ServBay'ın grafik tabanlı web yapılandırma arayüzü, web servisleri için PHP sürüm yönetimi yeteneği sağlar ve komut satırı ortamından bağımsızdır.
1. Yapılandırma Süreci
Web Sitesi Ekle/Düzenle:
• ServBay'i açın ve Hosts (Web Siteleri) sekmesine gidin.
• Yeni bir web sitesi oluşturmak veya mevcut bir web sitesini düzenlemek için + simgesine tıklayın.
• PHP Sürümü açılır menüsünden hedef sürümü seçin (örneğin 8.3, 8.5-dev vb.).Yol ve Alan Adı Bağlama:
• Kök Dizin: Proje yayın dizinini belirtin (örneğin Laravel için/Applications/ServBay/www/laravel-app/public
).
• Alan Adı: Özelleştirilmiş alan adını ayarlayın (örneğinlaravel.host
), HTTPS otomatik imza desteği vardır.
2. Teknik Uygulama ve İyileştirme
• Hizmet izolasyonu: Her PHP sürümü bağımsız bir süreçte çalışır, böylece bellek sızıntısı ve sürümler arası kirlilikten kaçınılır.
• Performans iyileştirmeleri: ARM64/X86_64 mimarisi için optimizasyon yapılmıştır.
• Hata ayıklama:
• Günlükleri kontrol edin: /Applications/ServBay/var/log/php/php_error.log
• servbayctl status php 8.5
komutunu kullanarak süreç durumunu kontrol edin.
3. Çoklu Sunucu Genişleme
• Apache/Nginx/Caddy desteği: ServBay 1.7.0 ve üstü sürümlerde web sunucusu değiştirme imkanı vardır.
• Veritabanı etkileşimi: Çoklu sürüm MySQL/MariaDB/PostgreSQL ile entegre olarak (örneğin, Laravel projeleri için MariaDB 11.5 uyumu sağlanabilir).
III. Çapraz Ortam İşbirliği En İyi Uygulamaları
Senaryo | Komut Satırı Yapılandırması | Web Hizmeti Yapılandırması | |
---|---|---|---|
Miras Sistem Bakımı | .servbay.config ile PHP 5.6 ayarlayın | Web sitesi yapılandırmasında PHP 5.6 seçin | |
Laravel 11 Gelişimi | PHP 8.3 + Node 20 yapılandırması yapın | Alan adı bağlayın ve HTTPS'yi etkinleştirin | |
Yeni Sürüm Testi | PHP 8.5-dev kullanın | Redis 7.x ile önbellek optimizasyonu ile birlikte kullanın |
Dikkat Edilmesi Gerekenler:
• Komut satırı ile web hizmetinin PHP modülleri arasında farklılık olabilir (örneğin, CLI modunda opcache
varsayılan olarak devre dışıdır).
• En son PHP özelliklerini almak için ServBay Runtime'ı 1.0.20/1.1.20+ sürümüne yükseltin.
Yukarıda belirtilen senaryo bazlı yönetim ile, geliştiriciler ServBay'ın çoklu sürüm kontrol yeteneklerinden tam anlamıyla faydalanabilir ve hem geliştirme esnekliğini hem de üretim ortamı tutarlılığını dengeli bir şekilde sağlayabilir.