GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Menginstal Beberapa Versi PHP di Ubuntu 20.04, 18.04, 20.10

Tutorial ini menunjukkan cara menginstal beberapa versi PHP di Ubuntu dan buat host virtual Apache atau blok server Nginx tertentu menggunakan salah satunya. Ini berguna ketika Anda memiliki beberapa aplikasi web di server Anda tetapi satu atau dua di antaranya tidak kompatibel dengan versi PHP di repositori default Ubuntu. Repositori Ubuntu 18.04 termasuk PHP7.2 dan repositori Ubuntu 20.04 termasuk PHP7.4. Kita akan melihat cara memasang PHP7.3 , PHP7.4 , dan PHP8.0 pada satu server Ubuntu.

Instal Beberapa Versi PHP di Ubuntu melalui PPA

Cara termudah untuk menginstal beberapa versi PHP adalah dengan menggunakan PPA dari Ondřej Surý, yang merupakan pengembang Debian. Untuk menambahkan PPA ini, jalankan perintah berikut di terminal. software-properties-common paket diperlukan jika Anda ingin menginstal perangkat lunak dari PPA. Ini diinstal secara otomatis di desktop Ubuntu, tetapi mungkin tidak ada di server Ubuntu Anda.

sudo apt install software-properties-common

sudo add-apt-repository ppa:ondrej/php

sudo apt update

Sekarang Anda dapat menginstal PHP8.0 di Ubuntu dengan menjalankan perintah berikut.

sudo apt install php8.0 php8.0-fpm

Dan instal beberapa ekstensi PHP8.0 umum.

sudo apt install php8.0-mysql php8.0-mbstring php8.0-xml php8.0-gd php8.0-curl

Anda dapat melihat semua ekstensi PHP7.4 yang tersedia dengan mengetikkan sudo apt install php8.0 dan menekan Tab kunci dua kali.

Untuk memasang PHP7.4 di Ubuntu, jalankan

sudo apt install php7.4 php7.4-fpm

Instal beberapa ekstensi PHP7.4 umum.

sudo apt install php7.4-mysql php7.4-mbstring php7.4-xml php7.4-gd php7.4-curl

Anda dapat menginstal PHP7.3 dengan cara yang sama. Cukup ganti nomor versi dalam perintah ini.

Petunjuk :PHP5.6, PHP7.0, dan PHP7.2 mencapai akhir masa pakainya, tetapi Anda masih bisa mendapatkan perbaikan keamanan dari PPA ini.

Mengganti Versi PHP di Apache Virtual Host

Secara default, Apache menggunakan satu versi PHP di semua virtual host. Jika Anda ingin menggunakan versi PHP yang berbeda di host virtual tertentu, Anda harus menonaktifkan modul Apache PHP dan menjalankan kode PHP melalui PHP-FPM. Periksa apakah mod_php sudah terpasang.

dpkg -l | grep libapache2-mod-php

Jika diinstal, Anda harus menonaktifkannya. Misalnya, saya punya libapache2-mod-php7.4 diinstal di server Ubuntu 20.04 saya,

Saya menonaktifkannya dengan menjalankan:

sudo a2dismod php7.4

Anda juga perlu menonaktifkan modul MPM prefork.

sudo a2dismod mpm_prefork

Sekarang Anda perlu menjalankan perintah berikut untuk mengaktifkan tiga modul agar dapat menggunakan PHP-FPM, terlepas dari apakah mod_php diinstal di server Anda.

sudo a2enmod mpm_event proxy_fcgi setenvif

Cuplikan konfigurasi PHP-FPM terletak di /etc/apache2/conf-available/ .

Katakanlah Anda ingin menggunakan PHP8.0 di virtual host Apache, kemudian buka file konfigurasi virtual host dan tambahkan baris berikut di <VirtualHost> tag.

Include /etc/apache2/conf-available/php8.0-fpm.conf

Seperti ini:

Simpan dan tutup file. Kemudian periksa sintaks.

sudo apachectl -t

Mulai ulang Apache agar perubahan diterapkan.

sudo systemctl restart apache2

Sekarang katakanlah Anda ingin menggunakan PHP7.3 di virtual host Mautic karena Mautic tidak kompatibel dengan PHP7.4, lalu tambahkan baris berikut di virtual host Mautic Anda di antara <VirtualHost> tag dan kemudian restart Apache.

Include /etc/apache2/conf-available/php7.3-fpm.conf

Untuk menguji versi PHP mana yang digunakan oleh virtual host Anda, Anda dapat membuat info.php file di root dokumen Anda (misalkan /var/www/html ).

sudo nano /var/www/html/info.php

Rekatkan kode PHP berikut ke dalam file.

<?php phpinfo(); ?>

Simpan dan tutup file. Kemudian di bilah alamat browser Anda, ketik

your-domain.com/info.php

Mengganti Versi PHP di Blok Server Nginx

Sangat mudah untuk mengganti versi PHP di blok server Nginx. Seperti yang mungkin Anda ketahui, Nginx menjalankan kode PHP melalui PHP-FPM, yang mendengarkan pada soket Unix. File soket terletak di /run/php/ direktori.

Seperti yang Anda lihat dari tangkapan layar, ada beberapa file soket PHP-FPM (.sock) di server saya yang sesuai dengan versi PHP yang berbeda. File blok server Nginx Anda biasanya memiliki cuplikan berikut untuk terhubung ke server PHP-FPM.

location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass unix:/run/php/php7.4-fpm.sock;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
  }

Versi PHP yang digunakan oleh Nginx ditentukan oleh baris ketiga dalam cuplikan. Untuk menggunakan PHP8.0 di blok server Nginx tertentu, ubah baris tersebut menjadi:

fastcgi_pass unix:/run/php/php8.0-fpm.sock;

Untuk menggunakan PHP7.3 di blok server Nginx, ubah baris tersebut menjadi

fastcgi_pass unix:/run/php/php7.3-fpm.sock;

Saya yakin Anda mendapatkan idenya sekarang. Simpan dan tutup file. Kemudian muat ulang Nginx agar perubahan diterapkan.

sudo systemctl reload nginx

Untuk menguji versi PHP mana yang digunakan oleh blok server Anda, Anda dapat membuat info.php file di root dokumen Anda (misalkan /var/www/html ).

sudo nano /var/www/html/info.php

Rekatkan kode PHP berikut ke dalam file.

<?php phpinfo(); ?>

Simpan dan tutup file. Kemudian di bilah alamat browser Anda, ketik

your-domain.com/info.php

Cara Menyetel Versi PHP Default untuk Baris Perintah

Jika Anda menginstal versi PHP yang lebih baru di Ubuntu, maka itu akan menjadi versi default untuk baris perintah. Saya menginstal PHP8.0, tetapi saya masih menginginkan PHP7.4 sebagai versi default untuk baris perintah.

Untuk mengatur versi PHP baris perintah default, jalankan perintah berikut.

sudo update-alternatives --config php

Untuk memeriksa versi PHP baris perintah saat ini, jalankan

php --version


Ubuntu
  1. Cara Menginstal PHP 7 di Ubuntu 14.04

  2. Cara Menginstal PHP 7 di Ubuntu 15.04

  3. Cara Menginstal PHP 7.3 di Ubuntu 18.04 LTS

  1. Cara Menginstal PHP 7.2 di Ubuntu 16.04

  2. Cara Menginstal PHP 7.3 di Ubuntu 16.04

  3. Cara Menginstal PHP 7.3 di Ubuntu 18.04

  1. Cara Menginstal PHP 7.4 / 7.3 / 7.2 di Ubuntu 18.04 / Ubuntu 16.04

  2. Cara Menginstal PHP 8.0 di Ubuntu 20.04 / Ubuntu 18.04

  3. Bagaimana Cara Menjalankan Beberapa versi PHP dengan Nginx di Ubuntu?