Pada tutorial kali ini kita akan membahas cara install berbagai versi PHP di Debian, versi PHP yang akan kita gunakan adalah 8.1.x, 8.2.x dan 8.3.x karena ketiga versi tersebut yang masih di support oleh PHP.

Pada implementasinya, cara ini bisa kita gunakan untuk meng-hosting berbagai jenis aplikasi dengan berbagai versi PHP. Proses PHP akan dijalankan dengan mode PHP-FPM (PHP FastCGI Process Manager)

Untuk pengguna Ubuntu 20.04 bisa melihat tutorialnya disini

Install Repository Sury

Cara untuk menginstall repository Sury

sudo apt install apt-transport-https lsb-release ca-certificates wget curl -y
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | sudo tee /etc/apt/sources.list.d/php.list
sudo curl -sSL -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
sudo apt update; sudo apt upgrade -y

Install PHP 8.1

Ikuti langkah-langkah ini untuk menginstall PHP 8.1

apt-get install php8.1 php8.1-cli php8.1-gd php8.1-xmlrpc php8.1-fpm \
        php8.1-curl php8.1-intl php8.1-imagick php8.1-mysqlnd php8.1-zip php8.1-xml \
        php8.1-mbstring php8.1-bcmath -y

Install PHP 8.2

Ikuti langkah-langkah ini untuk menginstall PHP 8.2

apt-get install php8.2 php8.2-cli php8.2-gd php8.2-xmlrpc php8.2-fpm \
        php8.2-curl php8.2-intl php8.2-imagick php8.2-mysqlnd php8.2-zip php8.2-xml \
        php8.2-mbstring php8.2-bcmath -y

Install PHP 8.3

Ikuti langkah-langkah ini untuk menginstall PHP 8.3

apt-get install php8.3 php8.3-cli php8.3-gd php8.3-xmlrpc php8.3-fpm \
        php8.3-curl php8.3-intl php8.3-imagick php8.3-mysqlnd php8.3-zip php8.3-xml \
        php8.3-mbstring php8.3-bcmath -y

Konfigurasi PHP FPM

Letak konfigurasi PHP FPM berada di /etc/php/{VERSI}/fpm/pool.d/www.conf, sementara konfigurasi untuk php.ini berada di /etc/php/{VERSI}/fpm/php.ini

# PHP FPM
/etc/php/8.1/fpm/pool.d/www.conf
/etc/php/8.2/fpm/pool.d/www.conf
/etc/php/8.3/fpm/pool.d/www.conf
# PHP.ini
/etc/php/8.1/fpm/php.ini
/etc/php/8.2/fpm/php.ini
/etc/php/8.3/fpm/php.ini

Menjalankan Service PHP

Untuk menjalankan service PHP kita akan menggunakan systemd, caranya sangat mudah ikuti cara dibawah ini

# PHP 8.1
sudo systemctl enable php8.1-fpm
sudo systemctl start php8.1-fpm
# PHP 8.2
sudo systemctl enable php8.2-fpm
sudo systemctl start php8.2-fpm
# PHP 8.3
sudo systemctl enable php8.3-fpm
sudo systemctl start php8.3-fpm

Cara Penggunaan

Contoh kita menggunakan web server nginx, dan memiliki konfigurasi berikut untuk DOMAIN1.com, lihat dibagian fastcgi_pass

location ~ \.php(?:$|/) {
    try_files $uri =404;
    fastcgi_split_path_info ^(.+\.php)(/.+)$;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param PATH_INFO $fastcgi_path_info;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_buffers 4 256k;
    fastcgi_busy_buffers_size 256k;
    fastcgi_temp_file_write_size 256k;
}

untuk menggunakan versi PHP yang berbeda gantikan sesuai dengan lokasi Unix Socket masing-masing PHP.

unix:/run/php/php8.1-fpm.sock
unix:/run/php/php8.2-fpm.sock
unix:/run/php/php8.3-fpm.sock

Setelah melakukan perubahan tersebut restart nginx

sudo nginx -t && sudo systemctl restart nginx

Leave a comment

Your email address will not be published. Required fields are marked *