hosting

PHP İşleyici Seçimi: Hosting Hesabınızda PHP Nasıl Çalışıyor?

PHP işleyici türleri arasındaki farklar, bellek ve hız etkileri ile hosting hesabınız için doğru seçimi yapma rehberi. PHP İşleyici Seçimi: Hosting…

PHP İşleyici Seçimi: Hosting Hesabınızda PHP Nasıl Çalışıyor?
İçindekiler
  1. İşleyici Ne Yapar?
  2. Yaygın Seçenekler
  3. Dosya İzinleri Farkı
  4. Güvenlik Boyutu
  5. Performans Farkı
  6. Kod Önbelleği Ayarları
  7. PHP Sürümü ile İlişki
  8. İşleyici Değiştirmek
  9. Değişiklik Sonrası Test
  10. Sonuç
  11. Sıkça Sorulan Sorular (SSS)
  12. Hangi işleyiciyi seçmeliyim?
  13. PHP'nin oluşturduğu dosyayı FTP ile silemiyorum?
  14. İşleyici değişikliği siteyi hızlandırır mı?
  15. Değişiklikten sonra PHP ayarlarım kayboldu?

PHP İşleyici Seçimi: Hosting Hesabınızda PHP Nasıl Çalışıyor?

Kontrol panelinizde "PHP işleyici" diye bir ayar var ve birkaç seçenek sunuyor. Çoğu kişi varsayılanı bırakır — oysa bu seçim sitenizin hızını, bellek kullanımını ve dosya izinlerini doğrudan etkiler.

Bu yazı, hosting ortamında PHP işleyici seçeneklerini karşılaştırıyor.

İşleyici Ne Yapar?

İşleyici, web sunucusu ile PHP arasındaki bağlantıdır:

  1. İstek web sunucusuna ulaşır
  2. Sunucu bunun bir PHP dosyası olduğunu görür
  3. İşleyici devreye girer
  4. PHP kodu çalıştırılır
  5. Sonuç HTML olarak döner

Üçüncü adımın nasıl yapıldığı belirleyicidir: PHP'nin web sunucusunun içinde mi yoksa ayrı bir süreçte mi çalıştığı, performans ve güvenlik davranışını tamamen değiştirir.

Yaygın Seçenekler

Hosting panellerinde karşılaşılan işleyiciler:

İşleyici Özelliği
Modül olarak PHP Hızlı, sunucu kullanıcısıyla çalışır
CGI Yavaş, her istekte süreç başlar
Hızlı CGI Süreçler yeniden kullanılır
FPM Havuz yönetimli, günümüzün standardı
Kullanıcı bazlı işleyiciler Her hesap kendi kullanıcısıyla

Dördüncü satır çoğu modern kurulumda varsayılandır ve doğru tercihtir: FPM, süreçleri bir havuzda tutup yeniden kullanarak hem hızlı hem kontrollü çalışır.

İkinci satır tarihsel bir seçenektir ve artık kullanılmamalıdır — her istekte yeni bir süreç başlatmanın maliyeti çok yüksektir.

Dosya İzinleri Farkı

İşleyici seçimi, dosyalarınızın hangi kullanıcı adına oluşturulduğunu belirler:

  • Modül olarak çalışırken: Web sunucusu kullanıcısı.
  • Kullanıcı bazlı işleyicide: Kendi hesabınız.

Bu fark günlük hayatta karşınıza çıkar: modül modunda PHP'nin oluşturduğu bir dosyayı FTP ile silemeyebilirsiniz — çünkü dosya farklı bir kullanıcıya aittir.

Aynı sorun tersine de işler. FTP ile yüklediğiniz bir dosyaya PHP yazamayabilir ve yükleme işlemleri başarısız olur.

Kullanıcı bazlı işleyiciler bu karışıklığı tamamen ortadan kaldırır — tüm dosyalar aynı kullanıcıya ait olur.

Güvenlik Boyutu

Paylaşımlı ortamda işleyici seçimi bir izolasyon meselesidir:

  1. Ortak kullanıcı kullanan işleyicilerde tüm hesaplar aynı kimlikle çalışır.
  2. Bu, teorik olarak komşu hesapların dosyalarına erişim riski doğurur.
  3. Kullanıcı bazlı işleyicide her hesap kendi kimliğiyle çalışır.
  4. Bir hesap ele geçirilse bile diğerleri korunur.

İkinci madde paylaşımlı hostingin klasik zaafıdır: tüm sitelerin aynı kullanıcıyla çalıştığı bir sunucuda, bir hesabın kodu diğerinin dosyalarını okuyabilir.

Bu yüzden ciddi sağlayıcılar kullanıcı bazlı işleyicilere geçmiştir. Panelinizde bu seçenek varsa tercih edilmelidir.

Performans Farkı

İşleyiciler arasındaki hız farkı ölçülebilir düzeydedir:

Etken Etkisi
Süreç başlatma maliyeti CGI'da her istekte ödenir
Kod önbelleği Kalıcı süreçlerde etkili
Bellek paylaşımı Havuzlu yapıda verimli
Statik dosya sunumu İşleyiciden bağımsız

İkinci satır en büyük kazancı sağlar: kod önbelleği, PHP dosyalarının derlenmiş hâlini bellekte tutar ve her istekte yeniden derleme maliyetini ortadan kaldırır.

Ancak bu önbellek yalnızca kalıcı süreçlerde işe yarar. Her istekte kapanan bir süreçte önbellek de kaybolur.

Bu, CGI ile FPM arasındaki hız farkının asıl nedenidir — ve fark küçük değildir.

Kod Önbelleği Ayarları

Kod önbelleği etkinse bazı ayarları kontrol edilmelidir:

  • Ayrılan bellek yeterli mi? Dolarsa etkisiz kalır.
  • Dosya sayısı sınırı aşılıyor mu?
  • Değişiklik kontrolü açık mı?
  • Kullanım oranı ne?

Üçüncü madde geliştirme sırasında kafa karıştırır: değişiklik kontrolü kapalıysa, güncellediğiniz PHP dosyası eski hâliyle çalışmaya devam eder.

Üretimde bu ayarı kapatmak performans kazandırır ama her dağıtımdan sonra önbelleğin temizlenmesi gerekir. Paylaşımlı hostingde genellikle açık bırakılır.

PHP Sürümü ile İlişki

İşleyici seçimi sürüm yönetimini de etkiler:

  1. Bazı işleyiciler sürüm başına ayrı havuz gerektirir.
  2. Alt alan adı bazında farklı sürüm mümkün olabilir.
  3. Dizin bazında sürüm seçimi işleyiciye bağlıdır.

İkinci madde pratik bir esneklik sağlar: eski bir uygulamayı bir alt alan adında eski PHP sürümüyle çalıştırırken, ana siteyi güncel sürümde tutabilirsiniz.

Bu, kademeli geçiş yapmayı mümkün kılar ve her şeyi bir anda güncelleme zorunluluğunu ortadan kaldırır.

İşleyici Değiştirmek

Panelden işleyici değiştirirken dikkat edilecekler:

Kontrol Neden
Dosya izinleri Kullanıcı değişebilir
Yapılandırma dosyaları Bazı yönergeler çalışmayabilir
PHP ayarları Tanımlama yeri değişir
Yükleme işlemleri Yazma izni test edilmeli
Zamanlanmış görevler Farklı PHP yolu kullanabilir

İkinci satır sık yaşanan bir sürprizdir: modül modunda dizin yapılandırma dosyasına yazdığınız PHP ayarları, FPM'e geçtiğinizde çalışmayı bırakır — çünkü bu ayarlar farklı bir yerden tanımlanmalıdır.

Bu durumda bellek limiti veya yükleme boyutu gibi ayarlarınız varsayılana döner ve siteniz beklenmedik hatalar verir.

Hangi işleyicilerin sunulduğu ve nasıl yapılandırıldığı Linux hosting paketlerine göre değişir; değişiklik öncesi mevcut ayarlarınızı not almak gerekir.

Değişiklik Sonrası Test

İşleyici değiştikten sonra kontrol edilecekler:

  • Site açılıyor mu?
  • PHP ayarları korunmuş mu?
  • Dosya yükleme çalışıyor mu?
  • Zamanlanmış görevler çalışıyor mu?
  • Hız değişti mi?

Dördüncü madde en geç fark edilenidir: zamanlanmış görevler günde bir çalıştığı için, bozulduklarını ancak ertesi gün öğrenirsiniz.

Bu yüzden değişiklik sonrası görevlerinizi elle bir kez tetikleyip çalıştıklarını doğrulamak gerekir.

Sonuç

PHP işleyici seçimi yalnızca bir performans ayarı değildir — dosyalarınızın hangi kullanıcı adına oluşturulduğunu ve paylaşımlı sunucuda komşularınızdan ne kadar izole olduğunuzu belirler. Kullanıcı bazlı bir işleyici varsa tercih edin; hem izin karışıklığını hem izolasyon riskini ortadan kaldırır. Hız farkının asıl kaynağı ise kod önbelleğidir ve yalnızca kalıcı süreçlerde işe yarar. Değişiklik yaparken dikkat edin: dizin yapılandırma dosyasına yazdığınız PHP ayarları, işleyici değişince çalışmayı bırakabilir.

Sıkça Sorulan Sorular (SSS)

Hangi işleyiciyi seçmeliyim?

Kullanıcı bazlı bir seçenek varsa onu — hem dosya izni karışıklığını ortadan kaldırır hem paylaşımlı sunucuda komşularınızdan izole eder. Yoksa FPM tercih edin. CGI seçeneğinden kaçının; her istekte yeni süreç başlatmanın maliyeti çok yüksektir.

PHP'nin oluşturduğu dosyayı FTP ile silemiyorum?

İşleyiciniz web sunucusu kullanıcısıyla çalışıyor demektir — dosya sizin hesabınıza değil o kullanıcıya ait. Kullanıcı bazlı bir işleyiciye geçmek bu karışıklığı tamamen çözer; tüm dosyalar aynı kullanıcıya ait olur.

İşleyici değişikliği siteyi hızlandırır mı?

CGI'dan FPM'e geçiyorsanız belirgin şekilde evet. Asıl kaynak kod önbelleğidir — PHP dosyalarının derlenmiş hâlini bellekte tutar ve her istekte yeniden derleme maliyetini kaldırır. Ancak bu önbellek yalnızca kalıcı süreçlerde çalışır.

Değişiklikten sonra PHP ayarlarım kayboldu?

Beklenen bir durum. Dizin yapılandırma dosyasına yazılan PHP yönergeleri, FPM gibi işleyicilerde çalışmaz — bu ayarlar farklı bir yerden tanımlanmalıdır. Değişiklik öncesi mevcut ayarlarınızı not alıp yeni yönteme taşıyın.