PHP Sürümü Nasıl Seçilir ve cPanel’den Güvenle Yükseltilir?
PHP, paylaşımlı hostingdeki sitelerin büyük çoğunluğunun çalıştığı dildir. WordPress de, WooCommerce de, Joomla da PHP ile yazılmıştır. Sunucunuzda hangi PHP sürümünün çalıştığı, sitenizin hem hızını hem güvenliğini hem de hangi eklentileri kurabildiğinizi doğrudan belirler.
Buna rağmen çoğu site, kurulduğu gündeki sürümde kalır. Yıllar geçer, o sürümün güvenlik desteği biter, kimse fark etmez. Sonra bir gün bir eklenti "bu sürüm desteklenmiyor" der ve panik içinde yükseltme yapılır, site bozulur. Bu yazı o senaryoyu yaşamamak için.
PHP sürümü neden önemli?
Üç somut sebep var.
- Güvenlik. Her PHP sürümünün resmi destek takvimi vardır: iki yıl hata düzeltmesi, ardından bir yıl yalnızca güvenlik yaması. Bu süre bittiğinde bulunan açıklar için yama yayınlanmaz. Desteği bitmiş bir sürümde çalışan site, kapısı açık bir dükkândır.
- Hız. PHP 7.0 ile gelen motor değişikliği, PHP 5.6’ya göre iki kata varan fark yaratmıştı. Sonraki sürümlerde kazanç daha ölçülüdür ama gerçektir: 7.4’ten 8.x’e geçen tipik bir WordPress kurulumunda sunucu yanıt süresinde yüzde 10-20 aralığında iyileşme görülür. JIT gibi özellikler tipik web isteklerinde çok şey değiştirmez; asıl kazanç motor optimizasyonlarındadır.
- Uyumluluk. Güncel eklenti ve temalar minimum sürüm şartı koyar. Eski sürümde kalırsanız güncelleme alamaz, giderek daha çok açıkla yaşarsınız.
Hangi sürümde olmalıyım?
Basit kural: aktif desteği devam eden en yüksek ikinci sürüm. En yenisi genelde birkaç ay bekleyip eklenti ekosisteminin oturmasını beklemeyi hak eder; en eskisi ise risk taşır.
| Sürüm ailesi | Durum | Ne yapmalı |
|---|---|---|
| PHP 5.x | Desteği yıllar önce bitti | Acil yükseltin |
| PHP 7.0 – 7.4 | Desteği bitti | Planlı yükseltme yapın |
| PHP 8.0 – 8.1 | Güvenlik desteği bitti veya bitmek üzere | Kısa vadede taşıyın |
| PHP 8.2 ve üstü | Aktif | Hedefiniz burası |
Sunucunuzda hangi sürümün çalıştığını görmek için WordPress panelinde Araçlar > Site Sağlığı > Bilgi > Sunucu bölümüne bakabilir ya da public_html içine <?php phpinfo(); ?> içeren geçici bir dosya koyabilirsiniz. O dosyayı iş bitince mutlaka silin; sunucunuzla ilgili her ayrıntıyı herkese açar.
Yükseltmeden önce yapılacak dört şey
Sürüm değiştirmek panelde tek tıktır, ama tık atmadan önce sırayla şunları yapın.
- Tam yedek alın. Dosya ve veritabanı birlikte. Yedekleme rehberindeki adımlar burada birebir geçerlidir; geri dönüş planınız yoksa yükseltme yapmayın.
- Her şeyi güncelleyin. Eski PHP’de patlayan şey genelde PHP’nin kendisi değil, üç yıldır güncellenmemiş bir eklentidir. Önce tema ve eklentileri güncel sürüme çekin.
- Uyumluluk taraması yapın. WordPress’te "PHP Compatibility Checker" türü bir araç, kod tabanındaki eski fonksiyon kullanımlarını listeler. Uyarıları değil,
ERRORişaretli satırları ciddiye alın. - Terk edilmiş eklentileri ayıklayın. Deposunda son güncellemesi üç yıl önce olan bir eklenti, yükseltmenin en olası kurbanıdır. Alternatifini şimdi bulun.
cPanel MultiPHP ile sürüm değiştirme
cPanel’de Yazılım > MultiPHP Manager ekranını açın. Listede hesabınızdaki her alan adı ve karşısında kullandığı sürüm görünür.
- Değiştireceğiniz alan adının solundaki kutuyu işaretleyin.
- Sağ üstteki
PHP Versionmenüsünden hedef sürümü seçin. Applydeyin. Değişiklik saniyeler içinde geçerli olur.
Bir hesapta birden çok alan adı varsa hepsini aynı anda taşımayın. Önce bir test alt alan adında (test.alanadiniz.com) deneyin. Sorun çıkarsa aynı ekrandan eski sürümü seçerek geri dönersiniz; bu işlem geri alınabilirdir ve veritabanına dokunmaz.
Yükselttikten sonra kontrol listesi: ana sayfa, bir iç sayfa, iletişim formunun gönderimi, arama kutusu, ödeme adımı, yönetim paneli. Bir de error_log dosyasına bakın; ekranda görünmeyen Deprecated uyarıları birikiyorsa bir eklenti gelecek sürümde tamamen kırılacak demektir. Bu satırları okumanın yolunu sunucu hata kodları yazısında anlattık.
Sürüm kadar önemli olan PHP ayarları
cPanel’de MultiPHP INI Editor ekranı, temel değerleri kutucuklardan değiştirmenizi sağlar. En çok işinize yarayacak dördü şunlardır:
| Ayar | Tipik varsayılan | Önerilen | Ne işe yarar |
|---|---|---|---|
| memory_limit | 128M | 256M | Tek bir isteğin kullanabileceği bellek |
| max_execution_time | 30 | 120-300 | Betiğin çalışabileceği süre |
| upload_max_filesize | 2M-64M | 128M | Yüklenebilecek en büyük dosya |
| post_max_size | 8M | upload değerinden büyük | Form gönderiminin toplam boyutu |
İki uyarı: post_max_size her zaman upload_max_filesize‘dan büyük olmalıdır, yoksa yükleme sessizce başarısız olur. Ve bu değerleri sonsuza kadar büyütmek çözüm değildir; memory_limit‘i 1024M yapmak zorunda kalıyorsanız sorun bellekte değil, o belleği tüketen kodadır. Paylaşımlı hostingde ayrıca sağlayıcının üst sınırı vardır; girdiğiniz değer o sınırın üstündeyse yok sayılır.
Bir de OPcache vardır: derlenmiş PHP kodunu bellekte tutar ve tekrar tekrar derlenmesini önler. Çoğu sunucuda açıktır ve kapalıysa açtırmaya değer. Kod dosyalarını FTP ile değiştirdikten sonra değişikliği görmüyorsanız şüphelenmeniz gereken şeylerden biri de budur.
Özetle
- Desteği bitmiş PHP sürümünde kalmak, yamalanmayan güvenlik açıklarıyla yaşamak demektir.
- Hedefiniz aktif destekli bir 8.x sürümü olsun; en yeni sürüme geçmek için birkaç ay beklemek makul.
- Yükseltmeden önce yedek alın, eklentileri güncelleyin, uyumluluk taraması yapın, ölü eklentileri kaldırın.
- Değişikliği
MultiPHP Manager‘dan önce bir test alt alan adında deneyin; geri dönüş tek tıktır. memory_limitvemax_execution_timedeğerlerini gerektiği kadar artırın; sürekli artırmak sorunu gizler.