Cara Memasang Pelbagai Versi PHP Dengan Apache Pada Debian 11/10

Cara Memasang Pelbagai Versi PHP Dengan Apache Pada Debian 11/10

Umumnya, pengurus tuan rumah menggunakan sistem berasingan untuk setiap penggunaan aplikasi versi php. Yang meningkatkan kos hosting. Sebilangan pengurus tuan rumah menggunakan Docker untuk menjalankan pelbagai versi PHP di pelayan tunggal. Juga, kebanyakan anda menyedari konfigurasi. Mungkin beberapa pentadbir sistem tidak menyedari ini. Tutorial ini akan membantu anda memasang pelbagai versi PHP dengan Apache pada sistem Debian 11, Debian 10, dan Debian 9 tanpa menukar versi PHP.

Tutorial ini menerangkan pemasangan dan konfigurasi dua virtualhost di Apache dengan versi PHP yang berasingan. Virtualhost pertama akan berfungsi dengan Php 5.6 dan VirtualHost lain akan berjalan dengan Php 7.2. Jadi hanya melalui tutorial ini. Anda juga boleh menggunakan lebih daripada dua versi PHP dengan Apache seperti yang diperlukan tetapi tutorial ini merangkumi dua sahaja.

Pemasangan PHP

Untuk pemasangan versi PHP, kami menggunakan PPA yang dikekalkan di sini. Gunakan beberapa arahan di bawah untuk menambah PPA pada sistem Debian anda.

sudo apt pemasangan ca-certificates apt-transport-https wget -q https: // bungkusan.sury.org/php/apt.GPG -O- | Sudo Apt -Key Add - Echo "Deb https: // Pakej.sury.org/php/stretch main "| sudo tee/etc/apt/sumber.senarai.d/php.senarai 

Tutorial ini menggunakan Php 5.6 dan Php 7.2 Untuk mengkonfigurasi dengan pelayan web Apache. Untuk menggunakan pelbagai versi PHP, kami akan menggunakan php fpm dan fastcgi. Jalankan arahan berikut untuk memasang php dan fpm pada sistem debian.

Apt Update Sudo Apt Pasang Php5.6 Php5.6-fpm sudo apt memasang php7.2 Php7.2-fpm 

Selepas pemasangan, perkhidmatan php-fpm akan dimulakan secara automatik. Gunakan arahan berikut untuk memastikan kedua -dua perkhidmatan sedang berjalan.

Status Sudo Systemctl Php5.6-fpm Sudo Systemctl Status Php7.2-fpm 

Pemasangan Apache

Pasang pelayan web Apache dari repositori rasmi. Pelancaran Terminal pada sistem anda atau log masuk dengan SSH untuk sistem jauh. Jalankan arahan berikut untuk memasang versi pelayan web Apache yang terkini.

sudo apt update sudo apt memasang apache2 libapache2-mod-fcgid 

Konfigurasi Apache

Sekarang aktifkan beberapa modul yang diperlukan untuk konfigurasi pelbagai versi PHP dengan Apache. Modul -modul ini diperlukan untuk mengintegrasikan php fpm dan fastcgi dengan pelayan apache.

Tindakan sudo a2enmod fcgid alias proxy_fcgi 

Sekarang buat dua direktori seprate pada sistem anda untuk kedua -dua laman web yang mengkonfigurasi pada sistem anda.

sudo mkdir/var/www/php56 sudo mkdir/var/www/php72 

Sekarang, buat dan indeks.PHP yang mengandungi fungsi phpinfo (). Ini akan membantu pengguna melihat dan mengesahkan, versi php digunakan oleh virtualhost.

echo "">/var/www/php56/index.php echo "">/var/www/php72/index.php 

Mari mulakan penciptaan virtualhost. Apache menyimpan semua fail konfigurasi VirtualHost di bawah/etc/apache2/laman web yang tersedia dengan lanjutan .Conf. Buat fail untuk hos maya pertama dan edit dalam editor teks kegemaran anda.

sudo vim/etc/apache2/tapak-tersedia/php56.Contoh.com.Conf 

Tambahkan kandungan berikut. Pastikan anda menggunakan nama serverven dan laluan direktori yang betul mengikut persediaan anda. Laman web ini dikonfigurasikan untuk berfungsi dengan Php 5.6.

ServerName PhP56.Contoh.com Documentroot/var/www/php56 Options -Indexes +followsymlinks +multiviews allowoverride semua memerlukan semua yang diberikan # Apache 2.4.10+ boleh proksi ke soket unix Sethandler "Proksi: Unix:/var/run/php/php5.6-fpm.Sock | fcgi: // localhost/"
12345678910111213 ServerName PhP56.Contoh.com dokumen/var/www/php56 Pilihan -Indexes +berikut # Apache 2.4.10+ boleh proksi ke soket unix Sethandler "Proksi: Unix:/var/run/php/php5.6-fpm.Sock | fcgi: // localhost/"

Begitu juga, buat fail konfigurasi VirtualHost kedua untuk berfungsi dengan Php 7.2. Edit fail konfigurasi dalam editor teks:

sudo vim/etc/apache2/tapak-tersedia/php72.Contoh.com.Conf 

Tambahkan kandungan berikut untuk memfailkan dengan name dan dokumen yang betul.

ServerName Php72.Contoh.com Documentroot/VAR/WWW/PHP72 OPTION -Indexes +Followsymlinks +Multiviews AllowOverRide Semua memerlukan semua yang diberikan Sethandler "Proxy: Unix:/Var/Run/Php7.2-fpm.Sock | fcgi: // localhost/"
123456789101112 ServerName Php72.Contoh.com dokumen/var/www/php72 Pilihan -Indexes +berikut Sethandler "Proxy: Unix:/var/run/php/php7.2-fpm.Sock | fcgi: // localhost/"

Anda berdua di laman web dikonfigurasikan sekarang. Tetapi mereka masih tidak aktif. Apache menyimpan tapak aktif di bawah/etc/apache2/direktori yang dibolehkan tapak. Anda hanya boleh membuat pautan simbolik fail konfigurasi ke direktori ini atau menggunakan arahan di bawah untuk melakukan perkara yang sama.

SUDO A2ENSITE PHP56.Contoh.com sudo a2ensite php72.Contoh.com 

Setelah membuat semua perubahan mulakan semula Apache untuk memuatkan semula tetapan baru perubahan.

SURDO SYSTEMCTL Mulakan semula Apache2 

Persediaan anda telah selesai sekarang. Pergi ke langkah seterusnya untuk menguji persediaan anda.

Persediaan ujian

Buka pelayar web dan lawati kedua -dua laman web. Anda akan melihatnya Php56.Contoh.com menunjukkan versi Php 5.6 dan Php72.Contoh.com menunjukkan Php 7.2 sebagai konfigurasi.