Merhaba, bu yazılmda Pardus 21 altında (Debian Bullseye dahil) nasıl farklı PHP sürümleriyle çalışabileceğimizi kendi tecrübelerime göre anlatacağım.
Ubuntu altında PPA, Debian altında DPA kullanarak bu işin içinden çıkmak mümkün.
Öncelikli olarak depomuzu tanımlıyoruz.
sudo apt install apt-transport-https lsb-release ca-certificates sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
Sonrasında şu komutu çalıştırıyoruz
sudo sh -c 'echo "deb https://packages.sury.org/php/ bullseye main" > /etc/apt/sources.list.d/php.list'
Depolarımızı güncelliyoruz.
sudo apt update
Komutları sırasıyla çalıştırdıktan sonra paket kurulumuna geçiyoruz. Temel paketleri kuruyoruz.
sudo apt install curl apache2
PHP 8.2 sürümünü kullanacaksam şu paketleri kuruyorum. Siz ihtiyaçlarınıza göre özelleştirebilirsiniz.
sudo apt install php-common libapache2-mod-php8.2 php8.2-cli php8.2-common php8.2-opcache php8.2-readline php8.2-curl php8.2-gd php8.2-imagick php8.2-intl php8.2-mbstring php8.2-mysql php8.2-xdebug php8.2-xml
PHP 8.1 sürümünü kullanacaksam şu paketleri kuruyorum.
sudo apt install php-common libapache2-mod-php8.1 php8.1-cli php8.1-common php8.1-opcache php8.1-readline php8.1-curl php8.1-gd php8.1-imagick php8.1-intl php8.1-mbstring php8.1-mysql php8.1-xdebug php8.1-xml
PHP 8.0 sürümünü kullanacaksam şu paketleri kuruyorum.
sudo apt install php-common libapache2-mod-php8.0 php8.0-cli php8.0-common php8.0-opcache php8.0-readline php8.0-curl php8.0-gd php8.0-imagick php8.0-intl php8.0-mbstring php8.0-mysql php8.0-xdebug php8.0-xml
PHP 7.4 sürümünü kullanacaksam şu paketleri kuruyorum.
sudo apt install php-common libapache2-mod-php7.4 php7.4-cli php7.4-common php7.4-opcache php7.4-readline php7.4-curl php7.4-gd php7.4-imagick php7.4-intl php7.4-mbstring php7.4-mysql php7.4-xdebug php7.4-xml
Daha önceki sürümleri de aynı mantık altında kurabilirsiniz.
Paketler kurulunca ssl, rewrite gibi kimi özellikleri etkinleştirmek gerekiyor, etkinleştiriyorum.
sudo a2enmod ssl rewrite suexec include
Sonrasında hata gösterimini aktif etmek için editör ile (ben gedit kullanıyorum) ini dosyamızı açıyoruz.
PHP 8.2 için ini dosyamızın yolu şöyle:
sudo gedit /etc/php/8.2/apache2/php.ini
PHP 8.1 için ise ini dosyamızın yolu şöyle:
sudo gedit /etc/php/8.1/apache2/php.ini
PHP 8.0 için ini dosyamızın yolu şöyle:
sudo gedit /etc/php/8.0/apache2/php.ini
PHP 7.4 için ini dosyamızın yolu şöyle:
sudo gedit /etc/php/7.4/apache2/php.ini
İni dosyasını ihtiyacıma göre düzenledikten sonra, ayarların etki etmesi için apache’yi yeniden başlatıyoruz.
sudo service apache2 restart
http://localhost/ adresine tıkladığımızda dosyalarımız görünüyorsa apache kurulmuş demektir.
Şimdi bir test dosyası oluşturup phpinfo() bakabiliriz.
Peki iyi hoş da yukardaki PHP sürümülerini kurduktan sonra aralarında nasıl geçiş yapacağız?
Aşağıdaki komut ile PHP sürümünü ayarlayabilirsiniz.
sudo update-alternatives --config php
Tabii tüm işlemin sonunda sunucuyu yeniden başlatmak da gerekecektir.
sudo service apache2 restart
PHP sürümünü uçbirimden görmek için komut satırını da kullanabilirsiniz.
php -v
Kaynakça: