Apache ve PHP-FPM Kullanarak Ubuntu 18.04 Sunucuda Birden Fazla PHP Sürümünü Çalıştırma Rehberi
Sunucu yönetiminde, özellikle web geliştirme ortamlarında, farklı projelerin farklı PHP sürümlerine ihtiyaç duyması yaygın bir senaryodur. Bir uygulamanın PHP 7.2 gerektirirken, başka bir uygulamanın PHP 8.1’in sunduğu yeni özelliklerden faydalanmak istemesi bu duruma tipik bir örnektir. Geleneksel olarak, sunucular genellikle tek bir PHP sürümünü genel olarak çalıştırır ve bu durum, farklı PHP gereksinimleri olan uygulamaların aynı sunucuda barındırılmasını zorlaştırır. Ancak Apache web sunucusu ve PHP-FPM (FastCGI Process Manager) kombinasyonu sayesinde, Ubuntu 18.04 üzerinde birden fazla PHP sürümünü sorunsuz bir şekilde aynı anda çalıştırabilir, her sanal host (virtual host) için farklı bir PHP sürümü atayarak bu sorunu çözebilirsiniz.
Bu kapsamlı teknik makalede, Ubuntu 18.04 işletim sistemi üzerinde Apache ve PHP-FPM kullanarak birden fazla PHP sürümünü nasıl kuracağınızı ve yapılandıracağınızı adım adım anlatacağız. Bu rehber, hem geliştiriciler hem de sistem yöneticileri için, sunucularını daha esnek ve verimli hale getirmek adına önemli bilgiler sunmaktadır.
Neden Birden Fazla PHP Sürümüne İhtiyaç Duyarız?
Birden fazla PHP sürümünü aynı sunucuda çalıştırma ihtiyacı çeşitli nedenlerden kaynaklanır:
* Farklı Projeler İçin Farklı Gereksinimler: Her web projesi veya CMS (içerik yönetim sistemi) farklı PHP sürümlerini destekleyebilir veya belirli bir sürümle daha iyi performans gösterebilir. Örneğin, eski bir WordPress sürümü PHP 7.2 ile daha uyumlu olabilirken, Laravel’in en son sürümü PHP 8.1 veya daha yenisini gerektirebilir.
* Eski Uygulamaların Bakımı: Bazı eski uygulamalar veya özel yazılımlar, güncel PHP sürümleriyle uyumsuz olabilir ve daha eski bir PHP sürümünde çalışmaya devam etmeleri gerekebilir. Bu, uygulamayı yeniden yazmak veya güncellemek yerine geçici bir çözüm sunar.
* Geliştirme ve Test Ortamları: Geliştiriciler, yeni PHP sürümlerini veya güncellemelerini test etmek isteyebilirler. Üretim ortamını etkilemeden farklı PHP sürümlerini test etmek, uyumluluk sorunlarını önceden tespit etmeye yardımcı olur.
* Geçiş Süreçleri: Bir uygulamayı daha yeni bir PHP sürümüne yükseltirken, eski sürümle yeni sürüm arasında bir geçiş dönemi olabilir. Bu süreçte her iki sürümü de aynı anda çalıştırabilmek, kesintisiz bir geçiş sağlar.
* Güvenlik ve Performans Optimizasyonu: Bazı uygulamalar belirli PHP sürümleriyle daha güvenli veya daha performanslı çalışabilir. Her uygulamaya özel PHP sürümü atayarak bu optimizasyonları sağlayabiliriz.
PHP-FPM Nedir ve Neden Kullanmalıyız?
PHP-FPM (FastCGI Process Manager), PHP’nin FastCGI uygulamasının gelişmiş bir versiyonudur. Web sunucularının (Apache, Nginx vb.) PHP komut dosyalarını işlemesini sağlayan bir arayüzdür. Geleneksel mod_php (Apache modülü olarak PHP) yaklaşımına kıyasla birçok avantaj sunar:
* İzolasyon ve Güvenlik: Her FPM havuzu (pool) kendi kullanıcısı ve grubu altında çalışabilir. Bu, farklı web sitelerinin veya uygulamaların birbirlerinin süreçlerini etkilemesini engeller ve güvenlik açısından önemli bir izolasyon sağlar. Bir sitenin çökmesi veya güvenlik açığı, diğer siteleri doğrudan etkilemez.
* Performans: mod_php, her Apache isteği için PHP yorumlayıcısını belleğe yükler ve bu da bellek tüketimini artırır. PHP-FPM ise ayrı süreçler halinde çalışır ve PHP yorumlayıcısını önceden yükleyerek istekleri daha hızlı işler. Bu, özellikle yüksek trafikli sitelerde performansı önemli ölçüde artırır.
* Esneklik ve Ölçeklenebilirlik: PHP-FPM, her havuz için özel PHP yapılandırmalarına (bellek limitleri, zaman aşımı ayarları vb.) izin verir. Ayrıca, ihtiyaç duyulan eşzamanlı bağlantı sayısına göre dinamik olarak süreçleri yönetebilir, bu da sunucu kaynaklarının daha verimli kullanılmasını sağlar.
* Çoklu PHP Sürümü Desteği: En önemlisi, PHP-FPM, birden fazla PHP sürümünü aynı anda çalıştırmanıza olanak tanır. Her PHP sürümü için ayrı bir FPM hizmeti ve havuzu oluşturulabilir ve web sunucusu, gelen isteği hangi FPM havuzuna yönlendireceğini belirleyebilir.
Bu avantajlar göz önüne alındığında, modern web sunucusu yapılandırmalarında PHP-FPM, PHP’yi çalıştırmak için tercih edilen yöntem haline gelmiştir.
Ön Koşullar
Bu rehbere başlamadan önce aşağıdaki ön koşulların yerine getirildiğinden emin olun:
* Ubuntu 18.04 Sunucu: Kurulumu yapacağınız bir Ubuntu 18.04 LTS sunucuya sahip olmalısınız.
* SSH Erişimi ve Sudo Yetkileri: Sunucuya SSH ile bağlanabilmeli ve sudo komutunu kullanarak yönetici ayrıcalıklarına sahip olmalısınız.
* Apache2 Kurulumu: Apache web sunucusu kurulu ve çalışır durumda olmalıdır. Eğer kurulu değilse, aşağıdaki komutlarla kurabilirsiniz:
sudo apt update
sudo apt install apache2
sudo systemctl enable apache2
sudo systemctl start apache2
* Temel Linux Komut Bilgisi: Terminalde temel komutları kullanma konusunda bilgi sahibi olmalısınız.
Adım 1: Gerekli Paketlerin Kurulumu
İlk adım, sistemimizi güncellemek ve birden fazla PHP sürümünü kolayca kurmamızı sağlayacak ek depoları (PPA) eklemektir. Ubuntu’nun varsayılan depoları genellikle yalnızca bir veya iki kararlı PHP sürümünü içerirken, Ondrej’in PPA’sı (Personal Package Archive) PHP’nin birçok farklı sürümünü ve ilgili modüllerini barındırır.
1. Sistem Paketlerini Güncelleme:
sudo apt update
sudo apt upgrade -y
2. Ondrej’in PHP PPA’sını Ekleme:
Bu PPA, PHP’nin çeşitli sürümlerini ve ek modüllerini içerir.
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
3. İhtiyaç Duyulan PHP Sürümlerini ve FPM Paketlerini Kurma:
Şimdi, çalıştırmak istediğiniz PHP sürümlerini ve bunlarla birlikte PHP-FPM paketlerini kurabiliriz. Bu rehberde örnek olarak PHP 7.4 ve PHP 8.1 sürümlerini kullanacağız. Her sürüm için FPM paketi (phpX.Y-fpm) ve yaygın olarak kullanılan bazı modülleri (phpX.Y-cli, phpX.Y-mysql, phpX.Y-gd, phpX.Y-curl, phpX.Y-mbstring, phpX.Y-xml) kuracağız. İhtiyaçlarınıza göre ek modüller ekleyebilirsiniz.
PHP 7.4 Kurulumu:
sudo apt install php7.4-fpm php7.4-cli php7.4-mysql php7.4-gd php7.4-curl php7.4-mbstring php7.4-xml php7.4-zip -y
PHP 8.1 Kurulumu:
sudo apt install php8.1-fpm php8.1-cli php8.1-mysql php8.1-gd php8.1-curl php8.1-mbstring php8.1-xml php8.1-zip -y
Kurulum tamamlandıktan sonra, her PHP-FPM hizmetinin çalışır durumda olduğundan emin olun:
sudo systemctl status php7.4-fpm
sudo systemctl status php8.1-fpm
Her iki hizmetin de active (running) durumunda olduğunu görmelisiniz. Eğer çalışmıyorlarsa, sudo systemctl start php7.4-fpm ve sudo systemctl start php8.1-fpm komutlarıyla başlatabilirsiniz. Ayrıca, sistem açılışında otomatik başlamalarını sağlamak için sudo systemctl enable php7.4-fpm ve sudo systemctl enable php8.1-fpm komutlarını kullanmanız önerilir.
Adım 2: PHP-FPM Havuzlarını Yapılandırma
Her PHP-FPM sürümü kendi varsayılan havuz yapılandırmasıyla gelir. Bu havuzlar, PHP-FPM’in nasıl çalışacağını, hangi kullanıcı ve grup altında çalışacağını, hangi soketi kullanacağını ve diğer performans ayarlarını belirler. Varsayılan olarak, her PHP sürümü için /etc/php/X.Y/fpm/pool.d/www.conf adında bir havuz dosyası bulunur. Genellikle bu varsayılan yapılandırma çoğu durum için yeterlidir, ancak belirli bir uygulama için özel ayarlar yapmanız gerekirse bu dosyaları düzenleyebilirsiniz.
Örneğin, www.conf dosyasında user ve group ayarları FPM süreçlerinin hangi kullanıcı ve grup altında çalışacağını belirler. Genellikle www-data olarak ayarlanır, bu da Apache’nin varsayılan kullanıcısıdır. Bu, dosya izinleri konusunda sorun yaşamamanızı sağlar.
Her FPM havuzunun kendine ait bir Unix soketi vardır. Bu soketler, web sunucusunun (Apache) PHP-FPM ile iletişim kurmasını sağlar. Varsayılan soket yolları şunlardır:
* PHP 7.4 için: /run/php/php7.4-fpm.sock
* PHP 8.1 için: /run/php/php8.1-fpm.sock
Bu soket yollarını Apache yapılandırmamızda kullanacağız.
Önemli Not: Eğer birden fazla siteyi farklı PHP sürümleriyle çalıştırıyorsanız ve her site için farklı FPM ayarları (örneğin bellek limiti, process sayısı) istiyorsanız, her site için ayrı bir FPM havuzu oluşturmanız gerekebilir. Bunu yapmak için, www.conf dosyasını kopyalayıp yeni bir isimle (örneğin site1.conf) kaydedebilir ve içindeki [www] kısmını [site1] gibi değiştirebilirsiniz. Ancak bu rehberde, varsayılan www havuzunu kullanarak devam edeceğiz, çünkü Apache’nin SetHandler direktifi ile hangi sokete bağlanacağını belirleyeceğiz.
Adım 3: Apache’yi PHP-FPM ile Çalışacak Şekilde Yapılandırma
Apache’nin PHP-FPM ile iletişim kurabilmesi için mod_proxy_fcgi modülünü etkinleştirmemiz gerekir. Bu modül, Apache’nin FastCGI sunucularına (PHP-FPM gibi) istekleri iletmesini sağlar.
1. mod_proxy_fcgi Modülünü Etkinleştirme:
sudo a2enmod proxy_fcgi
2. Gerekirse Diğer Apache Modüllerini Etkinleştirme:
Çoğu web uygulaması için mod_rewrite gibi modüllere de ihtiyaç duyulur. Eğer etkin değilse, onları da etkinleştirin:
sudo a2enmod rewrite
Diğer modüller için (mod_headers, mod_expires vb.) benzer şekilde a2enmod komutunu kullanabilirsiniz.
3. Apache’yi Yeniden Başlatma:
Yapılan değişikliklerin etkili olması için Apache’yi yeniden başlatın:
sudo systemctl restart apache2
Adım 4: Sanal Hostları (Virtual Host) Yapılandırma
Şimdi sıra, her web sitesi için ayrı bir sanal host yapılandırması oluşturmaya geldi. Her sanal host dosyasında, o site için hangi PHP-FPM soketinin kullanılacağını belirleyeceğiz.
Bu adımda iki farklı sanal host örneği oluşturacağız:
* site1.com: PHP 7.4 kullanacak.
* site2.com: PHP 8.1 kullanacak.
Öncelikle, her site için bir belge kök (DocumentRoot) dizini oluşturalım:
sudo mkdir -p /var/www/site1.com/public_html
sudo mkdir -p /var/www/site2.com/public_html
Ardından, bu dizinlere www-data kullanıcısının sahip olmasını sağlayalım, böylece Apache ve PHP-FPM bu dosyalara erişebilir ve yazabilir:
sudo chown -R www-data:www-data /var/www/site1.com
sudo chown -R www-data:www-data /var/www/site2.com
Örnek 1: PHP 7.4 Kullanan site1.com İçin Sanal Host Yapılandırması
1. Yeni bir sanal host yapılandırma dosyası oluşturun:
sudo nano /etc/apache2/sites-available/site1.com.conf
2. Dosyanın içine aşağıdaki içeriği yapıştırın:
ServerAdmin webmaster@localhost
ServerName site1.com
ServerAlias www.site1.com
DocumentRoot /var/www/site1.com/public_html
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/site1.com_error.log
CustomLog ${APACHE_LOG_DIR}/site1.com_access.log combined
# PHP 7.4 FPM'e yönlendirme
SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/"
Açıklama:
* ServerName ve ServerAlias: Sitenizin alan adlarını belirtir.
* DocumentRoot: Web sitenizin dosyalarının bulunduğu dizin.
* bloğu: Belge kök dizini için erişim ve AllowOverride All ile .htaccess dosyalarının kullanılmasına izin verir.
* : Bu bölüm, .php uzantılı tüm dosya isteklerini yakalar.
* SetHandler "proxy:unix:/run/php/php7.4-fpm.sock|fcgi://localhost/": Bu kritik direktif, .php dosyalarına gelen tüm istekleri, belirtilen PHP 7.4 FPM soketi üzerinden FastCGI protokolünü kullanarak PHP-FPM hizmetine yönlendirir. fcgi://localhost/ kısmı, FPM’in yerel makinede çalıştığını ve istekleri işleyeceğini belirtir.
3. Sanal hostu etkinleştirin ve Apache’yi yeniden başlatın:
sudo a2ensite site1.com.conf
sudo systemctl restart apache2
Örnek 2: PHP 8.1 Kullanan site2.com İçin Sanal Host Yapılandırması
1. Yeni bir sanal host yapılandırma dosyası oluşturun:
sudo nano /etc/apache2/sites-available/site2.com.conf
2. Dosyanın içine aşağıdaki içeriği yapıştırın:
ServerAdmin webmaster@localhost
ServerName site2.com
ServerAlias www.site2.com
DocumentRoot /var/www/site2.com/public_html
Options -Indexes +FollowSymLinks
AllowOverride All
Require all granted
ErrorLog ${APACHE_LOG_DIR}/site2.com_error.log
CustomLog ${APACHE_LOG_DIR}/site2.com_access.log combined
# PHP 8.1 FPM'e yönlendirme
SetHandler "proxy:unix:/run/php/php8.1-fpm.sock|fcgi://localhost/"
Bu yapılandırma, site1.com ile neredeyse aynıdır, tek fark SetHandler direktifinde php8.1-fpm.sock kullanılmasıdır.
3. Sanal hostu etkinleştirin ve Apache’yi yeniden başlatın:
sudo a2ensite site2.com.conf
sudo systemctl restart apache2
Adım 5: Yapılandırmayı Test Etme
Yapılandırmanın doğru çalıştığını doğrulamak için her sitenin public_html dizinine basit bir info.php dosyası oluşturalım ve tarayıcı üzerinden kontrol edelim.
1. site1.com için info.php oluşturma:
sudo nano /var/www/site1.com/public_html/info.php
İçine aşağıdaki kodu yapıştırın:
2. site2.com için info.php oluşturma:
sudo nano /var/www/site2.com/public_html/info.php
İçine aşağıdaki kodu yapıştırın:
3. DNS veya Hosts Dosyası Ayarları:
Eğer gerçek alan adları kullanmıyorsanız, yerel bilgisayarınızın hosts dosyasını düzenleyerek bu alan adlarını sunucunuzun IP adresine yönlendirmeniz gerekir.
* Linux/macOS: sudo nano /etc/hosts
* Windows: C:\Windows\System32\drivers\etc\hosts
Dosyanın sonuna aşağıdaki satırları ekleyin (sunucunuzun IP adresini kendi sunucunuzun IP adresiyle değiştirin):
SUNUCU_IP_ADRESİ site1.com www.site1.com
SUNUCU_IP_ADRESİ site2.com www.site2.com
4. Tarayıcıdan Kontrol Etme:
Şimdi bir web tarayıcısı açın ve aşağıdaki adreslere gidin:
* http://site1.com/info.php
* http://site2.com/info.php
site1.com/info.php sayfasında “PHP Version” kısmında PHP 7.4.x görmelisiniz.
site2.com/info.php sayfasında “PHP Version” kısmında PHP 8.1.x görmelisiniz.
Eğer bu sürümleri doğru bir şekilde görüyorsanız, birden fazla PHP sürümünü Apache ve PHP-FPM kullanarak başarılı bir şekilde yapılandırmışsınız demektir!
Sık Karşılaşılan Sorunlar ve Çözümleri
Yapılandırma sırasında veya sonrasında bazı sorunlarla karşılaşabilirsiniz. İşte en yaygın sorunlar ve olası çözümleri:
1. 500 Internal Server Error:
Bu, genellikle PHP veya sunucu yapılandırmasında bir hata olduğunu gösterir.
* Apache Hata Kayıtlarını Kontrol Edin: /var/log/apache2/error.log dosyasını kontrol edin. PHP-FPM ile ilgili bir hata varsa, burada detayları görebilirsiniz.
* PHP-FPM Hata Kayıtlarını Kontrol Edin: Her PHP-FPM sürümünün kendi hata kayıtları vardır. Örneğin, PHP 7.4 için /var/log/php7.4-fpm.log veya /var/log/php/php7.4-fpm.log gibi yolları kontrol edin.
* FPM Hizmet Durumu: sudo systemctl status phpX.Y-fpm komutuyla ilgili FPM hizmetinin çalışır durumda olduğundan emin olun.
* Dosya İzinleri: Web sitenizin DocumentRoot dizinindeki dosya ve dizin izinlerinin doğru olduğundan emin olun. Genellikle www-data kullanıcısının okuma/yazma erişimi olmalıdır (sudo chown -R www-data:www-data /var/www/site.com ve sudo chmod -R 755 /var/www/site.com gibi).
* PHP Sözdizimi Hataları: info.php gibi basit bir dosya bile 500 hatası veriyorsa, PHP kodunda sözdizimi hatası olup olmadığını kontrol edin.
2. PHP Dosyaları Tarayıcıya İndiriliyor (Çalışmıyor):
Bu, Apache’nin PHP dosyalarını bir yorumlayıcıya göndermek yerine doğrudan istemciye sunduğu anlamına gelir.
* mod_proxy_fcgi Etkin mi? sudo a2enmod proxy_fcgi komutunu çalıştırdığınızdan ve Apache’yi yeniden başlattığınızdan emin olun.
* SetHandler Direktifi Doğru mu? Sanal host yapılandırmanızdaki bloğunun ve SetHandler direktifinin doğru yazıldığından emin olun. Soket yolu yanlış olabilir.
3. FPM Soket Yolu Hatası (e.g., “No such file or directory”):
Bu, Apache’nin SetHandler direktifinde belirtilen FPM soketini bulamadığı anlamına gelir.
* Soket Yolu Doğru mu? /run/php/phpX.Y-fpm.sock yolunun doğru olduğundan ve ilgili FPM hizmetinin (örneğin php7.4-fpm) çalışır durumda olduğundan emin olun.
* FPM Hizmeti Çalışıyor mu? sudo systemctl status phpX.Y-fpm komutuyla kontrol edin.
4. Apache Yeniden Başlamıyor:
Apache yapılandırma dosyasında bir hata varsa, Apache yeniden başlamaz.
* Yapılandırma Hatası Kontrolü: sudo apachectl configtest komutunu çalıştırarak yapılandırma dosyalarınızdaki sözdizimi hatalarını kontrol edin. Bu komut, hatanın tam olarak nerede olduğunu size söyleyecektir.
* Logları Kontrol Edin: /var/log/apache2/error.log dosyasında Apache’nin neden başlatılamadığına dair ipuçları bulunabilir.
5. phpinfo() Farklı Bir PHP Sürümü Gösteriyor:
* Sanal Host Doğru Yönlendiriyor mu? ServerName ve ServerAlias ayarlarınızın doğru olduğundan ve tarayıcınızdan doğru alan adıyla eriştiğinizden emin olun.
* Hosts Dosyası/DNS Doğru mu? Yerel hosts dosyanızın veya DNS kayıtlarınızın doğru IP adresine işaret ettiğini kontrol edin.
* Apache Yeniden Başlatıldı mı? Sanal host yapılandırmasını değiştirdikten sonra Apache’yi yeniden başlattığınızdan emin olun (sudo systemctl restart apache2).
Performans ve Güvenlik İpuçları
Çoklu PHP sürümü kurulumunuzu daha güvenli ve performanslı hale getirmek için bazı ek ipuçları:
* PHP-FPM Havuz Ayarlarını Optimize Etme:
Her PHP-FPM havuzunun (/etc/php/X.Y/fpm/pool.d/www.conf veya özel havuz dosyalarınız) performans ayarlarını sunucunuzun kaynaklarına (RAM, CPU) ve web sitenizin trafik beklentilerine göre ayarlayın. Önemli ayarlar şunlardır:
* pm = dynamic: Süreç yöneticisinin dinamik olarak çocuk süreçleri oluşturmasını sağlar.
* pm.max_children: Oluşturulabilecek maksimum çocuk süreç sayısı.
* pm.start_servers: Başlangıçta oluşturulacak çocuk süreç sayısı.
* pm.min_spare_servers: Boşta bekleyen minimum çocuk süreç sayısı.
* pm.max_spare_servers: Boşta bekleyen maksimum çocuk süreç sayısı.
* pm.max_requests: Bir çocuk sürecinin yeniden başlatılmadan önce işleyeceği maksimum istek sayısı (bellek sızıntılarını önlemek için).
Bu değerleri doğru ayarlamak, bellek tüketimini optimize eder ve sunucunun aşırı yüklenmesini engeller.
* Güvenlik İçin Kullanıcı İzolasyonu:
Mümkünse, her web sitesi için farklı bir sistem kullanıcısı ve grubuna sahip ayrı PHP-FPM havuzları oluşturun. Bu, bir sitenin güvenliğinin ihlal edilmesi durumunda diğer sitelerin etkilenmesini zorlaştırır. Örneğin, site1.com için site1user ve site2.com için site2user oluşturup FPM havuzlarında user = site1user ve group = site1user şeklinde belirleyebilirsiniz.
* open_basedir Kısıtlamaları:
Her FPM havuzu için php_admin_value[open_basedir] ayarını kullanarak PHP komut dosyalarının erişebileceği dizinleri kısıtlayın. Örneğin:
php_admin_value[open_basedir] = /var/www/site1.com/public_html:/tmp
Bu, bir saldırganın sunucudaki diğer dizinlere erişmesini engeller.
* Loglama:
Apache ve PHP-FPM loglarını düzenli olarak kontrol edin. Hata logları, sorunları tespit etmek ve gidermek için paha biçilmez bilgiler içerir. Logları merkezi bir log yönetimi çözümüyle toplamak da faydalı olabilir.
* PHP Sürümlerini Güncel Tutma:
Kullandığınız PHP sürümlerini (özellikle üretim ortamındaki ana sürümleri) güvenlik güncellemeleri ve hata düzeltmeleri için düzenli olarak güncelleyin. Ondrej’in PPA’sını kullandığınız için sudo apt update && sudo apt upgrade komutları PHP sürümlerinizi de güncelleyecektir.
* HTTPS Kullanımı:
Tüm web siteleriniz için Let’s Encrypt gibi ücretsiz SSL/TLS sertifikaları kullanarak HTTPS’i etkinleştirin. Bu, veri güvenliğini artırır ve SEO için de önemlidir.
Sonuç
Bu detaylı rehberde, Ubuntu 18.04 işletim sistemi üzerinde Apache web sunucusu ve PHP-FPM kullanarak birden fazla PHP sürümünü aynı anda nasıl çalıştıracağınızı öğrendiniz. Bu yapılandırma, farklı PHP gereksinimleri olan çeşitli web uygulamalarını tek bir sunucuda barındırmanıza olanak tanıyarak büyük bir esneklik ve verimlilik sağlar.
PHP-FPM’in sağladığı izolasyon, performans artışı ve her sanal host için özel PHP sürümü atayabilme yeteneği, modern web sunucusu yönetimi için vazgeçilmez bir araçtır. Gerek eski uygulamaların bakımı, gerekse yeni teknolojilerin test edilmesi ve farklı projelerin aynı sunucuda sorunsuz bir şekilde çalışması için bu yöntem, sistem yöneticileri ve geliştiriciler için güçlü bir çözüm sunar. Adımları dikkatlice takip ederek ve olası sorun giderme yöntemlerini kullanarak, kendi çoklu PHP sürümü ortamınızı kolayca kurabilirsiniz. Bu sayede sunucu kaynaklarınızı daha verimli kullanırken, her uygulamanın kendi özel PHP ortamında en iyi performansı göstermesini sağlayabilirsiniz.