Web projelerimizde kullandığımız yazılımların, özellikle PHP sürümünün güncel olması, hem güvenlik hem de performans açısından kritik bir öneme sahiptir. Bu yazıda, bir Ubuntu sunucusunda PHP sürümünü 8.2’ye nasıl yükselteceğimizi ve Apache web sunucusunda doğru sürümü nasıl etkinleştireceğimizi detaylı olarak ele alıyoruz.
Projelerinizde PHP 8.2.0 veya üzeri bir sürüm gerekirken, sistemde yüklü olan PHP sürümünün (örneğin PHP 8.1 veya 8.0) bu gereksinimi karşılamadığını fark edebilirsiniz. Bu durumda, aşağıdaki adımlarla sorunu çözebilirsiniz.
Öncelikle, PHP’nin en güncel sürümlerini içeren Ondřej Surý’nin PPA deposunu ekledik:
sudo add-apt-repository ppa:ondrej/php
sudo apt update
PHP 8.2 ve Apache’nin kullanacağı FPM modülü dahil olmak üzere gerekli bileşenleri yükledik:
sudo apt install php8.2 php8.2-cli php8.2-fpm php8.2-mysql php8.2-curl php8.2-xml php8.2-mbstring php8.2-zip libapache2-mod-php8.2
Apache’nin eski PHP modülünü (örneğin PHP 8.0 veya PHP 8.1) kullandığını fark ettik. Bu nedenle, eski modülleri devre dışı bıraktık:
sudo a2disconf php8.0-fpm
sudo a2dismod php8.1
Daha sonra, PHP 8.2 FPM yapılandırmasını etkinleştirdik:
sudo a2enconf php8.2-fpm
sudo a2enmod php8.2
Yapılandırma değişikliklerinin etkin olması için Apache’yi yeniden başlattık:
sudo systemctl restart apache2
Apache’nin doğru PHP sürümünü kullandığını doğrulamak için phpinfo()
çıktısını tarayıcıda kontrol ettik. Bunun için aşağıdaki adımları uyguladık:
sudo nano /var/www/html/info.php
İçerik: <?php phpinfo(); ?>
http://[sunucu-ip]/info.php
adresine giderek PHP sürümünü kontrol ettik. Doğru sürüm olan PHP 8.2.27 burada görünmelidir.Yukarıdaki adımları uyguladıktan sonra PHP 8.2, Apache üzerinde sorunsuz çalışmaya başladı. Bu süreçte eski PHP sürümlerini devre dışı bırakmak ve Apache’yi doğru şekilde yapılandırmak kritik öneme sahipti.
ERROR: Module php8.2 does not exist!
Çözüm: sudo apt install libapache2-mod-php8.2
phpinfo()
çıktısında hala eski bir PHP sürümü görüyorsanız, Apache’nin kullandığı PHP-FPM sürümünü doğru yapılandırdığınızdan emin olun: sudo a2disconf php8.0-fpm sudo a2enconf php8.2-fpm sudo systemctl restart apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name
Bu uyarıyı düzeltmek için Apache yapılandırma dosyasına bir ServerName
ekledik: sudo nano /etc/apache2/apache2.conf
Dosyanın sonuna şu satırı ekledik: ServerName localhost
Ardından Apache’yi yeniden başlattık: sudo systemctl reload apache2
PHP sürümünün güncellenmesi, sadece bir yazılım gereksinimi değil, aynı zamanda performans ve güvenlik açısından da önemlidir. Bu rehberi takip ederek, PHP’nin Apache üzerinde doğru şekilde çalışmasını sağlayabilirsiniz.