Sådan installeres PHP 5.6 som ekstra PHP-FPM og FastCGI til ISPConfig 3.1 på Ubuntu 16.04

Sådan installeres PHP 5.6 som ekstra PHP-FPM og FastCGI til ISPConfig 3.1 på Ubuntu 16.04

Denne vejledning viser, hvordan man opbygger PHP 5.6 som en PHP-FPM og en FastCGI-version på Ubuntu 16.04 (Xenial Xerus). Ubuntu 16.04 leveres som standard med PHP 7, men der er stadig mange hjemmesider derude, der ikke understøtter PHP 7. Denne vejledning viser dig, hvordan du installerer PHP 5.6 som ekstra PHP-version på Ubuntu 16.04, så du kan skifte mellem begge versioner for hver hjemmeside individuelt i ISPConfig.

1 Preliminary Note

Jeg vil installere PHP 5.6 i / opt, så den primære PHP 7 af Ubuntu ikke påvirkes, og PHP 7 vil forblive standard PHP af vores server, mens PHP 5.6 er tilgængelig som option i ISPConfig (webstedsindstillinger). Bemærk, at PHP-FPM kan bruges på både Apache og Nginx-servere, mens FastCGI kun er tilgængelig for Apache-servere i ISPConfig.

Med ældre PHP-versioner havde PHP-FPM og FastCGI været gensidigt eksklusive, således at en FPM og FastCGI-binær måtte bygges separat. Med PHP 5.6 kan en enkelt binær, der understøtter FPM og FCGI-tilstand, bygges.

2 Kompilér PHP 5.6 med PHP-FPM og Fastcgi

Installer forudsætningerne for at opbygge PHP 5.6, wget og nano-editoren, som jeg vil bruge til at redigere config-filer:

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

(Den sidste kommando er nødvendig, hvis du opbygger PHP med-med-imap, fordi ellers ./configure vil stoppe med følgende fejl:

kontrollerer kryptering i-krypterer ... ja
configure: error: Kan ikke finde imap bibliotek (libc-client.a). Tjek venligst din c-klientinstallation.
[email protected]: / usr / local / src / php5-build / php-5.6.25 #

)

Download og hent PHP 5.6 fra php.net:

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

cd php-xnumx /

Konfigurer og bygg PHP 5.6.25 som følger (du kan justere ./configure-kommandoen til dine behov, se et kig på

./configure -help

at se alle tilgængelige muligheder hvis du bruger en anden ./configure-kommando, er det muligt, at der kræves yderligere biblioteker, eller bygningen vil mislykkes):

./configure -prefix = / opt / php-5.6.25-med-pdo-pgsql-med-zlib-dir-med-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-optimering -with-bz2 -with-zlib -enable-sockets -enable-sysvsem -enable- sysvshm -enable-pcntl -enable-mbregex -enable-exif -enable-bcmath -with-mhash -enable-zip-med-pcre-regex -with-mysql -with-pdo-mysql -with-mysqli -with-jpeg- dir = / usr -with-png-dir = / usr -enable-gd-native-ttf-med-openssl -with-fpm-user = www-data-med-fpm-gruppe = www-data-med-libdir = / lib / x86_64-linux-gnu -enable-ftp-med-imap-med-imap-ssl-med-gettext -with-xmlrpc -with-xsl -with-kerberos -enable-fpm

Ovennævnte streng er kun en lang kommando, må du ikke tilføje nogen linjeskift. Den sidste switch (-enable-fpm) sikrer, at denne PHP-version vil fungere sammen med PHP-FPM.

lave
make install

Kopier php.ini og php-fpm.conf til de rigtige steder:

cp /usr/local/src/php5-build/php-5.6.25/php.ini-production /opt/php-5.6.25/lib/php.ini

cp /opt/php-5.6.25/etc/php-fpm.conf.default /opt/php-5.6.25/etc/php-fpm.conf

Opret poolfilmappen php-fpm.d.

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

Åbn /opt/php-5.6.25/etc/php-fpm.conf og juster følgende indstilling (fjern den; foran pidlinjen):

nano /opt/php-5.6.25/etc/php-fpm.conf

[...] pid = run / php-fpm.pid [...] bruger = www-data gruppe = www-data [...] listen = 127.0.0.1: 8999 [...] inkluderer = / opt / php -5.6.25 / etc / php-fpm.d / *. conf

3 Opret systemd-enhedsfilen

Ubuntu 16.04 anvender systemd som init system. Jeg vil oprette en systemd-enhedsfil for at kunne starte / stoppe og genstarte PHP-FPM-tjenesten.

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

med følgende indhold:

[Enhed] Beskrivelse = PHP 5.6 FastCGI Process Manager Efter = network.target [Service] Type = enkel PIDFile = / opt / php-5.6.25 / var / run / php-fpm.pid ExecStart = / opt / php-5.6.25 / sbin / php-fpm --nodaemonize --fpm-config /opt/php-5.6.25/etc/php-fpm.conf ExecReload = / bin / kill -USR2 $ MAINPID [Installer] WantedBy = multi-user.target

Aktivér tjenesten og genindlæs systemd:

systemctl aktiver php-5.6.25-fpm.service
systemctl daemon-reload

Endelig start PHP-FPM.

systemctl start php-xnumx-fpm.service

For at aktivere Zend OPcache, skal du åbne /opt/php-5.6.25/lib/php.ini...

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

... og tilføj følgende linje i slutningen:

[...] zend_extension = opcache.so

Test PHP versionen:

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

Udgangen skal svare til dette screenshot.

4 Aktiver PHP 5.6 i ISPConfig

I ISPConfig 3.1 kan du konfigurere den nye PHP-version under System> Additional PHP Versions. På fanen Navn skal du blot udfylde et navn til PHP-versionen (f.eks. PHP 5.6.25) - denne PHP-version vil blive opført under dette navn i webstedets indstillinger i ISPConfig:

Tilføj PHP 5.6 i ISPConfig

Gå til fanen FastCGI Settings og udfyld felterne som følger:

Sti til PHP FastCGI binær: / Opt / php-5.6.25 / bin / php-cgi
Sti til php.ini biblioteket: / Opt / php-5.6.25 / lib

PHP-FCGI indstillinger

Derefter g til fanen PHP-FPM Settings og udfyld felterne som følger:

Sti til PHP-FPM init script: php-5.6.25 fpm
Sti til php.ini biblioteket: / Opt / php-5.6.25 / lib
Sti til PHP-FPM-poolkataloget: /opt/php-5.6.25/etc/php-fpm.d

PHP-FPM indstillinger

5 Links

Kilde

2 Kommentarer

  1. Rafael Oliveira de Santana
  2. Allan Almeida

Giv en kommentar

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.