GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie PHP 5.6 als zusätzliches PHP-FPM &FastCGI für ISPConfig 3.1 auf Ubuntu 16.04

Dieses Tutorial zeigt, wie man PHP 5.6 als PHP-FPM und eine FastCGI-Version auf Ubuntu 16.04 (Xenial Xerus) baut. Ubuntu 16.04 wird standardmäßig mit PHP 7 ausgeliefert, aber es gibt immer noch viele Websites, die PHP 7 nicht unterstützen. Dieses Tutorial zeigt Ihnen, wie Sie PHP 5.6 als zusätzliche PHP-Version auf Ubuntu 16.04 installieren, damit Sie zwischen beiden Versionen wechseln können jede Website einzeln in ISPConfig.

1 Vorbemerkung

Ich werde PHP 5.6 in /opt installieren, damit das Haupt-PHP 7 von Ubuntu nicht betroffen ist und PHP 7 das Standard-PHP unseres Servers bleibt, während PHP 5.6 als Option in ISPConfig (Website-Einstellungen) verfügbar ist. Bitte beachten Sie, dass PHP-FPM sowohl auf Apache- als auch auf Nginx-Servern verwendet werden kann, während FastCGI nur für Apache-Server in ISPConfig verfügbar ist.

Bei älteren PHP-Versionen schlossen sich PHP-FPM und FastCGI gegenseitig aus, sodass eine FPM- und FastCGI-Binärdatei separat erstellt werden musste. Mit PHP 5.6 kann eine einzelne Binärdatei erstellt werden, die den FPM- und FCGI-Modus unterstützt.

2 Kompilieren Sie PHP 5.6 mit PHP-FPM und Fastcgi

Installieren Sie die Voraussetzungen zum Erstellen von PHP 5.6, wget und des Nano-Editors, den ich zum Bearbeiten der Konfigurationsdateien verwenden werde:

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 libpng12-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a

(Der letzte Befehl wird benötigt, wenn Sie PHP mit --with-imap erstellen, da sonst ./configure mit folgendem Fehler stoppt:

checking for crypt in -lcrypt... yes
configure: error: Cannot find imap library (libc-client.a). Please check your c-client installation.
[email protected]:/usr/local/src/php5-build/php-5.6.30#

)

Laden Sie PHP 5.6 von php.net herunter und extrahieren Sie es:

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/

Konfigurieren und bauen Sie PHP 5.6.30 wie folgt (Sie können den ./configure-Befehl an Ihre Bedürfnisse anpassen, werfen Sie einen Blick auf

./configure --help

um alle verfügbaren Optionen zu sehen; Wenn Sie einen anderen ./configure-Befehl verwenden, werden möglicherweise zusätzliche Bibliotheken benötigt oder der Erstellungsprozess schlägt fehl):

./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-optimization --with-bz2 --with-zlib --enable-sockets --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

Die obige Zeichenfolge ist nur ein langer Befehl, fügen Sie keine Zeilenumbrüche hinzu. Der letzte Schalter (--enable-fpm) stellt sicher, dass diese PHP-Version mit PHP-FPM funktioniert.

make
make install

Kopieren Sie php.ini und php-fpm.conf an die richtigen Stellen:

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

Erstellen Sie das Pool-Dateiverzeichnis php-fpm.d.

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

Öffnen Sie /opt/php-5.6.30/etc/php-fpm.conf und passen Sie die folgende Einstellung an (entfernen Sie das; vor der PID-Zeile):

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

2.1 xDebug-Erweiterung installieren (optional)

Das xDebug-Modul ist eine Debugging-Erweiterung für PHP. Die Installation ist optional.

Installieren Sie xDebug mit diesen Befehlen.

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

Bearbeiten Sie dann die php.ini-Datei mit einem Editor:

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

und fügen Sie am Ende der Datei die folgende Zeile hinzu:

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

3 Erstellen Sie die systemd-Unit-Datei

Ubuntu 16.04 verwendet systemd als Init-System. Ich werde eine systemd-Unit-Datei erstellen, um den PHP-FPM-Dienst starten/stoppen und neu starten zu können.

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

mit folgendem Inhalt:

[Unit]
Description=The PHP 5.6 FastCGI Process Manager
After=network.target

[Service]
Type=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

[Install]
WantedBy=multi-user.target

Aktivieren Sie den Dienst und laden Sie systemd neu:

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

Starten Sie schließlich PHP-FPM.

systemctl start php-5.6.30-fpm.service

Um den Zend OPcache zu aktivieren, öffnen Sie /opt/php-5.6.30/lib/php.ini...

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

... und am Ende folgende Zeile hinzufügen:

[...]
zend_extension=opcache.so

Testen Sie die PHP-Version:

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

Die Ausgabe sollte diesem Screenshot ähneln.

4 Aktivieren Sie PHP 5.6 in ISPConfig

In ISPConfig 3.1 können Sie die neue PHP-Version unter System> Zusätzliche PHP-Versionen konfigurieren. Auf der Registerkarte Name geben Sie einfach einen Namen für die PHP-Version ein (z. B. PHP 5.6.30) - diese PHP-Version wird unter diesem Namen in den Website-Einstellungen in ISPConfig aufgeführt:

Gehen Sie zur Registerkarte FastCGI-Einstellungen und füllen Sie die Felder wie folgt aus:

Path to the PHP FastCGI binary: /opt/php-5.6.30/bin/php-cgi
Path to the php.ini directory: /opt/php-5.6.30/lib

Gehen Sie dann zum Tab „PHP-FPM-Einstellungen“ und füllen Sie die Felder wie folgt aus:

Path to the PHP-FPM init script: php-5.6.30-fpm
Path to the php.ini directory: /opt/php-5.6.30/lib
Path to the PHP-FPM pool directory: /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. So installieren Sie PHP 7.4 und 8.0 auf Ubuntu 18.04 oder 20.04

  2. So installieren Sie PHP unter Ubuntu 18.04

  3. So installieren Sie PHP unter Ubuntu 20.04

  4. So installieren Sie PHP 8.0 unter Ubuntu 20.04 / Ubuntu 18.04

  5. So installieren Sie PHP 7.2 auf Ubuntu 16.04

So installieren Sie den ionCube Loader für PHP in Ubuntu

So installieren Sie PHP 8.0 unter Ubuntu 20.04 / 18.04

Verwendung mehrerer PHP-Versionen (PHP-FPM &FastCGI) mit ISPConfig 3 (Ubuntu 13.04)

Verwendung mehrerer PHP-Versionen (PHP-FPM &FastCGI) mit ISPConfig 3 (Ubuntu 12.10)

So installieren Sie PHP unter Ubuntu 22.04

So installieren Sie PHP unter Ubuntu 22.04