Cara Memasang Pelbagai Versi PHP dengan Apache di Ubuntu 20.04
- 3906
- 464
- Mr. Ramon Runolfsson
Umumnya, pengurus tuan rumah menggunakan pelayan 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, saya gunakan dalam tutorial ini. Tetapi beberapa pentadbir sistem tidak menyedari perkara ini. Tutorial ini akan membantu anda memasang pelbagai versi PHP dengan Apache di Ubuntu 20.04 Sistem Linux 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.
Memasang Apache
Pakej Pelayan Web Apache boleh didapati di bawah repositori lalai. Buka terminal pada sistem Ubuntu anda, kemudian laksanakan arahan berikut untuk memasang versi terbaru pelayan web Apache yang tersedia.
sudo apt update sudo apt memasang apache2 libapache2-mod-fcgid
Memasang PHP
PPA dikekalkan untuk pemasangan PHP di sistem Ubuntu sejak bertahun -tahun. Anda hanya perlu menambah PPA ke sistem anda untuk memasang pakej. Gunakan beberapa arahan di bawah untuk menambah PPA ke sistem anda.
sudo apt pemasangan perisian-properties-properties sudo add-apt-repository PPA: ondrej/php
Untuk tutorial ini, kami menggunakan Php 5.6 dan Php 7.4 Untuk mengkonfigurasi dengan pelayan web Apache. Untuk menggunakan pelbagai versi PHP, kami akan menggunakan php fpm dan fastcgi. Mari pasang pakej berikut pada sistem anda.
Sudo Apt Update -y Sudo Apt Pasang Php5.6 Php5.6 -fpm -y sudo apt memasang php7.4 Php7.4 -fpm -y
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.4-fpm
- Disyorkan: Cara Mengaktifkan/Melumpuhkan Modul PHP di Ubuntu
Konfigurasikan Apache dengan pelbagai PHP
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
Bersedia untuk konfigurasi laman web di pelayan Apache anda. Untuk tujuan ujian, saya mengkonfigurasi dua laman web untuk bekerja dengan dua versi php yang berbeza-2. Pertama, buat dua direktori di pelayan anda.
sudo mkdir/var/www/php56-app sudo mkdir/var/www/php74-app
Sekarang, buat dan indeks.PHP yang mengandungi phpinfo ();
fungsi.
echo "">/var/www/php56-app/index.php
echo "">/var/www/php74-app/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 -app -phing -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 |
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/php74.Contoh.com.Conf
Tambahkan kandungan berikut untuk memfailkan dengan name dan dokumen yang betul.
ServerName Php72.Contoh.COM Documentroot/VAR/WWW/PHP74 -APP OPTION -Indexes +Followsymlinks +Multiviews AllowOverRide Semua memerlukan semua yang diberikan Sethandler "Proxy: UNIX:/VAR/RUN/PHP/PHP7.4-fpm.Sock | fcgi: // localhost "123456789101112 |
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 php74.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.
Uji persediaan anda
Edit /etc /hosts fail di sistem tempatan anda dan buat entri seperti di bawah. Ini akan menyelesaikan nama sementara ke alamat IP localhost.
sudo vim /etc /hosts
Tambahkan entri berikut ke akhir fail
127.0.0.1 Php74.Contoh.com 127.0.0.1 Php56.Contoh.com
Buka pelayar web dan lawati kedua -dua laman web. Anda akan melihatnya Php56.Contoh.com menunjukkan versi Php 5.6 dan Php74.Contoh.com menunjukkan Php 7.4 sebagai konfigurasi.
http: // php74.Contoh.com:
http: // php56.Contoh.com:
Kesimpulan
Tutorial ini membantu anda menyiapkan laman web berganda dengan versi php yang berbeza-2 pada pelayan Apache tunggal pada Ubuntu 20.04 Sistem.