GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara menginstal PHP 5.6 sebagai tambahan PHP-FPM &FastCGI untuk ISPConfig 3.1 di Ubuntu 16.04

Tutorial ini menunjukkan bagaimana membangun PHP 5.6 sebagai PHP-FPM dan versi FastCGI di Ubuntu 16.04 (Xenial Xerus). Ubuntu 16.04 dikirimkan dengan PHP 7 secara default tetapi masih banyak situs web di luar sana yang tidak mendukung PHP 7. Tutorial ini akan menunjukkan kepada Anda cara menginstal PHP 5.6 sebagai versi PHP tambahan di Ubuntu 16.04 sehingga Anda dapat beralih di antara kedua versi untuk setiap situs web satu per satu di ISPConfig.

1 Catatan Awal

Saya akan menginstal PHP 5.6 di /opt sehingga PHP 7 utama Ubuntu tidak terpengaruh dan PHP 7 akan tetap menjadi PHP default server kami sementara PHP 5.6 tersedia sebagai opsi di ISPConfig (pengaturan situs web). Harap diperhatikan bahwa PHP-FPM dapat digunakan di server Apache dan Nginx, sedangkan FastCGI hanya tersedia untuk server Apache di ISPConfig.

Dengan versi PHP yang lebih lama, PHP-FPM dan FastCGI telah saling eksklusif sehingga biner FPM dan FastCGI harus dibuat secara terpisah. Dengan PHP 5.6, biner tunggal yang mendukung mode FPM dan FCGI dapat dibuat.

2 Kompilasi PHP 5.6 dengan PHP-FPM dan Fastcgi

Instal prasyarat untuk membangun PHP 5.6, wget dan editor nano yang akan saya gunakan untuk mengedit file konfigurasi:

apt-get install build-essential wget nano
apt-get install libfcgi-dev libfcgi0ldbl libjpeg62-dbg libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev dev libpq-dev libxml2-dev libxslt1-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a

(Perintah terakhir diperlukan jika Anda membuat PHP dengan --with-imap, karena jika tidak ./configure akan berhenti dengan kesalahan berikut:

memeriksa crypt di -lcrypt... yes
configure:error:Cannot find imap library (libc-client.a). Harap periksa penginstalan c-client Anda.
[email protected]:/usr/local/src/php5-build/php-5.6.30#

)

Unduh dan ekstrak PHP 5.6 dari php.net:

mkdir /opt/php-5.6.30
mkdir /usr/local/src/php5-build
cd /usr/local/src/php5-build
wget http:/ /de.php.net/get/php-5.6.30.tar.bz2/from/this/mirror -O php-5.6.30.tar.bz2
tar jxf php-5.6.30.tar.bz2
cd php-5.6.30/

Konfigurasi dan build PHP 5.6.30 sebagai berikut (Anda dapat menyesuaikan perintah ./configure dengan kebutuhan Anda, lihat

./configure --help

untuk melihat semua opsi yang tersedia; jika Anda menggunakan perintah ./configure yang berbeda, ada kemungkinan perpustakaan tambahan diperlukan, atau proses pembangunan akan gagal):

./configure --prefix=/opt/php-5.6.30 --with-pdo-pgsql --with-zlib-dir --with-freetype-dir --enable-mbstring --with-libxml- dir=/usr --enable-soap --enable-calendar --with-curl --with-mcrypt --with-zlib --with-gd --with-pgsql --disable-rpath --enable-inline- optimasi --with-bz2 --with-zlib --enable-socket --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --enable-exif --enable-bcmath --with- mhash --enable-zip --with-pcre-regex --with-mysql --with-pdo-mysql --with-mysqli --with-jpeg-dir=/usr --with-png-dir=/usr --enable-gd-native-ttf --with-openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-imap --with-imap-ssl --with-gettext --with-xmlrpc --with-xsl --with-kerberos --enable-fpm

String di atas hanyalah satu perintah panjang, jangan tambahkan jeda baris. Sakelar terakhir (--enable-fpm) memastikan versi PHP ini akan bekerja dengan PHP-FPM.

make
make install

Salin php.ini dan php-fpm.conf ke lokasi yang benar:

cp /usr/local/src/php5-build/php-5.6.30/php.ini-production /opt/php-5.6.30/lib/php.ini
cp /opt/php-5.6.30/etc/php-fpm.conf.default /opt/php-5.6.30/etc/php-fpm.conf

Buat direktori file kumpulan php-fpm.d.

mkdir /opt/php-5.6.30/etc/php-fpm.d

Buka /opt/php-5.6.30/etc/php-fpm.conf dan sesuaikan pengaturan berikut (hapus; di depan baris pid):

nano /opt/php-5.6.30/etc/php-fpm.conf
[...]pid =run/php-fpm.pid[...]user =www-datagroup =www-data[...]listen =127.0.0.1:8999[...]include=/opt/php-5.6.30/etc/php-fpm.d/*.conf

2.1 Instal ekstensi xDebug (opsional)

Modul xDebug adalah ekstensi debug untuk PHP. Instalasi bersifat opsional.

Instal xDebug dengan perintah ini.

cd /opt/php-5.6.30/etc
pecl -C ./pear.conf update-channels
pecl -C ./pear.conf install xdebug

Kemudian edit file php.ini dengan editor:

nano /opt/php-5.6.30/lib/php.ini

dan tambahkan baris berikut di akhir file:

zend_extension=/opt/php-5.6.30/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

3 Buat file unit systemd

Ubuntu 16.04 menggunakan systemd sebagai sistem init. Saya akan membuat file unit systemd untuk dapat memulai / menghentikan dan memulai kembali layanan PHP-FPM.

nano /lib/systemd/system/php-5.6.30-fpm.service

dengan isi sebagai berikut:

[Unit]
Description=Pengelola Proses FastCGI PHP 5.6
After=network.target

[Layanan]
Tipe=simple
PIDFile =/opt/php-5.6.30/var/run/php-fpm.pid
ExecStart=/opt/php-5.6.30/sbin/php-fpm --nodaemonize --fpm-config /opt/ php-5.6.30/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID

[Instal]
WantedBy=multi-pengguna.target

Aktifkan layanan dan muat ulang systemd:

systemctl mengaktifkan php-5.6.30-fpm.service
systemctl daemon-reload

Akhirnya mulai PHP-FPM.

systemctl start php-5.6.30-fpm.service

Untuk mengaktifkan Zend OPcache, buka /opt/php-5.6.30/lib/php.ini...

nano /opt/php-5.6.30/lib/php.ini

... dan tambahkan baris berikut di akhir:

[...]zend_extension=opcache.so

Uji versi PHP:

cd /opt/php-5.6.30/bin
./php --version

Outputnya harus mirip dengan tangkapan layar ini.

4 Aktifkan PHP 5.6 di ISPConfig

Di ISPConfig 3.1, Anda dapat mengonfigurasi versi PHP baru di bawah Sistem> Versi PHP Tambahan. Pada tab Name, Anda cukup mengisi nama untuk versi PHP (misalnya PHP 5.6.30) - versi PHP ini akan terdaftar di bawah nama ini di pengaturan situs web di ISPConfig:

Buka tab FastCGI Settings dan isi kolom sebagai berikut:

Jalur ke biner PHP FastCGI: /opt/php-5.6.30/bin/php-cgi
Jalur ke direktori php.ini: /opt/php-5.6.30/lib

Lalu, buka tab Setelan PHP-FPM dan isi kolom sebagai berikut:

Jalur ke skrip init PHP-FPM: php-5.6.30-fpm
Jalur ke direktori php.ini: /opt/php-5.6.30/lib
Jalur ke direktori kumpulan PHP-FPM: /opt/php-5.6.30/etc/php-fpm.d

  • PHP:http://www.php.net/
  • ISPConfig:http://www.ispconfig.org/
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Cara Menginstal PHP 7.4 dan 8.0 Di Ubuntu 18.04 atau 20.04

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

  3. Cara Menginstal PHP 7.2 di Ubuntu 16.04

  1. Cara Menginstal PHP di Ubuntu 18.04

  2. Cara Menginstal PHP di Ubuntu 20.04

  3. Cara menginstal PHP 7 (PHP-FPM &FastCGI) untuk ISPConfig 3 di Debian 8 (Jessie)

  1. Cara menginstal PHP 7 sebagai PHP-FPM &FastCGI untuk ISPConfig 3 di Debian 8 (Jessie)

  2. Cara menginstal PHP 7.1.16 sebagai PHP-FPM &FastCGI untuk ISPConfig 3.1 di Debian 8 (Jessie)

  3. Cara menginstal PHP 7.1, 7.2 dan 5.6 sebagai PHP-FPM &FastCGI untuk ISPConfig 3 di Debian 9