Ubuntu sunucularında PHP versiyonunu değiştirmek, web uygulamalarınızın uyumluluğunu sağlamak ve en güncel güvenlik yamalarından yararlanmak için kritik bir işlemdir.
Ubuntu sunucularında PHP versiyonunu değiştirmek, web uygulamalarınızın uyumluluğunu sağlamak ve en güncel güvenlik yamalarından yararlanmak için kritik bir işlemdir. Bu işlem, özellikle birden fazla PHP versiyonunun aynı anda yüklü olduğu ortamlarda, sistem performansını optimize etmek ve yazılım gereksinimlerini karşılamak adına önemlidir. Bu makalede, Ubuntu 20.04 ve üzeri sürümlerde PHP versiyonunu güvenli ve etkili bir şekilde değiştirme sürecini adım adım inceleyeceğiz. İşlem sırasında sunucunuzun kararlılığını korumak için yedekleme yapmanızı ve test ortamında denemeler gerçekleştirmenizi öneririz. Bu rehber, sistem yöneticileri ve geliştiriciler için pratik bir kaynak niteliğindedir.
PHP versiyon değişikliğine başlamadan önce, sunucunuzdaki mevcut durumu netleştirmek esastır. Bu aşama, olası uyumsuzlukları önler ve doğru stratejiyi belirlemenizi sağlar. Öncelikle terminali açın ve şu komutla mevcut PHP versiyonunu kontrol edin: php -v. Bu komut, CLI (Command Line Interface) üzerinden aktif versiyonu gösterir. Web sunucusu (Apache veya Nginx) için ise phpinfo(); içeren bir PHP dosyasını tarayıcıdan çalıştırarak detaylı bilgi edinebilirsiniz.
Sonrasında, sistem depolarını güncelleyin: sudo apt update && sudo apt upgrade. PHP için birden fazla versiyon desteği sağlayan Ondřej Surý PPA deposunu ekleyin: sudo add-apt-repository ppa:ondrej/php, ardından sudo apt update ile depoları yenileyin. Bu depo, Ubuntu’nun resmi depolarında bulunmayan güncel PHP versiyonlarını (örneğin 8.1, 8.2 veya 8.3) sağlar. Hazırlık tamamlandıktan sonra, mevcut PHP paketlerini listeleyin: dpkg -l | grep php. Bu komut, yüklü tüm PHP bileşenlerini göstererek, kaldırma veya yükseltme kararınızı kolaylaştırır. Bu adımlar yaklaşık 5-10 dakika sürer ve sisteminizi değişikliğe hazır hale getirir.
Yeni versiyonu yüklemek için hedef PHP sürümünü belirleyin, örneğin PHP 8.2 için: sudo apt install php8.2 php8.2-cli php8.2-common php8.2-mysql php8.2-xml php8.2-curl php8.2-gd php8.2-mbstring. Bu paketler, yaygın web uygulamaları için temel modülleri kapsar. MySQL entegrasyonu için php8.2-mysql, görsel işleme için php8.2-gd gibi uzantıları eklemeyi unutmayın. Kurulum sırasında bağımlılıklar otomatik çözülür, ancak disk alanınızı kontrol edin (yaklaşık 100-200 MB). Kurulum tamamlandıktan sonra, php8.2 -v ile versiyonu doğrulayın.
Apache kullanıyorsanız, yeni modülü etkinleştirin: sudo a2enmod php8.2 ve eskiyi devre dışı bırakın: sudo a2dismod php7.4 (eski versiyona göre uyarlayın). Ardından Apache’yi yeniden başlatın: sudo systemctl restart apache2. Nginx için PHP-FPM servisini yükleyin: sudo apt install php8.2-fpm, site yapılandırmasında fastcgi_pass’ı güncelleyin ve sudo systemctl restart php8.2-fpm nginx ile servisleri yenileyin. Bu entegrasyon, web isteklerinin yeni PHP ile işlenmesini sağlar ve gecikmeleri minimize eder.
CLI için varsayılan PHP’yi ayarlamak üzere update-alternatives kullanın: sudo update-alternatives --set php /usr/bin/php8.2. Bu, php -v komutunun yeni versiyonu göstermesini sağlar. Web sunucusunda ise phpinfo() sayfası ile test edin; çıktıdaki PHP Version satırını kontrol edin. Performans testi için basit bir script çalıştırın: <?php echo 'PHP Çalışıyor: ' . phpversion(); ?>. Log dosyalarını inceleyin: sudo tail -f /var/log/apache2/error.log veya PHP-FPM logları için benzer komutlar kullanın.
Modül eksikliği durumunda sudo apt install php8.2-[modül_adı] ile tamamlayın. Servis başlatma hatalarında sudo systemctl status php8.2-fpm ile teşhis koyun; genellikle port çakışması veya izin sorunlarıdır. Eski versiyon kalıntılarını temizleyin: sudo apt purge php7.4* ve autoremove ile gereksizleri silin. Bu adımlar, sistemi temiz tutar ve güvenlik açıklarını kapatır. Değişiklik sonrası veritabanı bağlantılarını ve uygulama kodlarını test edin, uyumsuz fonksiyonlar için dokümantasyona başvurun.
Bu rehberi uygulayarak Ubuntu sunucunuzda PHP versiyonunu sorunsuz değiştirebilirsiniz. Düzenli güncellemelerle sistem güvenliğinizi artırın ve uygulamalarınızın en iyi performansta çalışmasını sağlayın. Herhangi bir karmaşıklıkta, komut loglarını saklayarak destek alın.