Nachfolgend beschreibe ich das Update von PHP auf Version 7.1.15 unter dem Server Control Panel ISPConfig. Die PHP Installation erfolgt als PHP-FPM und FastCGI Modul. Ich werde in der Anleitung PHP 7.1.15 in das Verzeichnis /opt/php/7.1.15 installieren. Hintergrund ist so die Möglichkeit weitere Updates ohne größere Ausfallzeiten für die Webseiten durchzuführen. Es muss lediglich ein Symlink gesetzt werden. (Achtung ist aktuell in der ISPConfig Version so nicht ganz möglich – Infos unten)
Update PHP auf Version 7.1.15 unter ISPConfig 3
- PHP 7.1.15 Voraussetzungen sowie Midnight Commander / Nano zum editieren der Konfiguration installieren
# aptitude install build-essential mc nano autoconf
- Verzeichnis erstellen
# mkdir -p /opt/php/7.1.15
- PHP 7.1.15 installieren
# mkdir -p /usr/local/src/php7-build/php-7.1.15
# cd /usr/local/src/php7-build/php-7.1.15
# cd
# tar jxfv php-7.1.15.tar.bz2
# cd php-7.1.15/
- PHP 7.1 Module installieren
# aptitude install libfcgi-dev libfcgi0ldbl libjpeg62-turbo-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
- falls PHP mit –with-imap kompiliert wurde noch folgendes ausführen
# ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
- PHP 7.1.15 mit PHP-FPM konfigurieren (Hilfe für Anpassungen mittels # ./configure –help)
# ./configure --prefix=/opt/php/7.1.15 --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-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --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-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm
# make
# make install
- PHP php.ini kopieren
# cp /usr/local/src/php7-build/php-7.1.15/php.ini-production /opt/php/7.1.15/lib/php.ini
- PHP php-fpm.conf kopieren
# cp /opt/php/7.1.15/etc/php-fpm.conf.default /opt/php/7.1.15/etc/php-fpm.conf
# cp /opt/php/7.1.15/etc/php-fpm.d/www.conf.default /opt/php/7.1.15/etc/php-fpm.d/www.conf
- PHP PID aktivieren
# mcedit /opt/php/7.1.15/etc/php-fpm.conf
:- pid = run/php-fpm.pid
- error_log=log/php-fpm.log
- PHP – freien Port (8998 oder 8999 oder 9000) einstellen
- benutzte(r) Port:
# netstat -tulpn |grep php-fpm
tcp 0 0 127.0.0.1:9002 0.0.0.0:* LISTEN 1867/php-fpm.conf)
tcp 0 0 127.0.0.1:9003 0.0.0.0:* LISTEN 1869/php-fpm.conf) - neuen Port setzen: #
mcedit /opt/php/7.1.15/etc/php-fpm.d/www.conf
- listen = 127.0.0.1:9004
- benutzte(r) Port:
- PHP 7.1 Systemd Skripte erstellen / kontrollieren ggf. auf aktuelle Version anpassen
# mcedit /lib/systemd/system/php7.1-fpm.service
# cat /lib/systemd/system/php7.1-fpm.service
[Unit]
Description=The PHP 7.1 FastCGI Process Manager
After=network.target
[Service]
Type=simple
PIDFile=/opt/php/7.1/var/run/php-fpm.pid
ExecStart=/opt/php/7.1/sbin/php-fpm –nodaemonize –fpm-config /opt/php/7.1/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target- Service aktivieren und Systemd neustarten
# systemctl enable php7.1-fpm.service
# systemctl daemon-reload
- nun PHP-FPM starten
# systemctl start php7.1-fpm.service
- Status des PHP 7.1 FPM Dienstes prüfen:
# systemctl status -l php7.1-fpm.service
- Zend OPcache aktivieren
# mcedit
/opt/php/7.1.15/lib/php.ini
und am Ende folgendes hinzufügen: zend_extension=opcache.so- PHP Version testen:
# cd /opt/php/7.1.15/bin
# ./php --version
PHP 7.1.15 (cli) (built: Mar 4 2018 23:09:37) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.1.15, Copyright (c) 1999-2018, by Zend Technologies
- Memcached (3.0.3) aktivieren (optional)
- beötigtes Paket sollte installiert sein:
# aptitude install libmemcached-dev
- PHP memcached Exension von Github installieren:
# mkdir /usr/local/src/php-7.1.15/php-memcached
# cd /usr/local/src/php-7.1.15/php-memcached
# wget https://github.com/php-memcached-dev/php-memcached/archive/master.zip
# unzip master.zip
# cd php-memcached-master
- Sources vorbereiten
- ausführen von
# /opt/php/7.1.15/bin/phpize
Configuring for:
PHP Api Version: 20160303
Zend Module Api No: 20160303
Zend Extension Api No: 320160303 - PHP Memcache Extension erstellen
# ./configure --with-php-config=/opt/php/7.1.15/bin/php-config
# make
# make install
Installing shared extensions: /opt/php/7.1.15/lib/php/extensions/no-debug-non-zts-20160303/ - Memcache Extension aktivieren und ans Ender der Datei hinzufügen
# mcedit /opt/php/7.1.15/lib/php.ini
extension=memcached.so
- ausführen von
- beötigtes Paket sollte installiert sein:
- aufräumen und Download löschen:
# rm /usr/local/src/php7-build/php-7.1.15.tar.bz2
# rm -R /usr/local/src/php7-build/php-7.1.15
- PHP Symlink auf Hauptversion PHP 7.1 setzen:
# ln -sfn /opt/php/7.1.15/* /opt/php/7.1/
- PHP 7.1.15 in ISPConfig akivieren
- unter Sysetm > Zusätzliche PHP Versionen (System > Additional PHP Versions)
- Neue PHP Version hinzufügen / Add new PHP Version
- PHP Name : PHP 7.1
- Reiter FastCGI Settings – Pfad zum PHP FastCGI Binary : /opt/php/7.1.15/bin/php-cgi
- Reiter FastCGI Einstellungen – Pfad zum php.ini Verzeichnis : /opt/php/7.1.15/lib
- Reiter PHP-FPM Einstellungen – Pfad zum PHP-FPM Init Script : /lib/systemd/system/php7.1-fpm .service
- Reiter PHP-FPM Einstellungen – Pfad zum php.ini Verzeichnis : /opt/php/7.1.15/lib
- Reiter PHP-FPM Einstellungen – Pfad zum PHP-FPM Pool Verzeichnis : /opt/php/7.1.15/etc/php-fpm.d
- Neue PHP Version hinzufügen / Add new PHP Version
- unter Sysetm > Zusätzliche PHP Versionen (System > Additional PHP Versions)
- Webseite auf PHP 7.1.15 umstellen
- Im Menü Webseiten / Websites die Webseite auswählen
- Reiter Domain und dort ganz unten die PHP Version auf 7.1 umstellen
!Achtung in der ISPConfig Version bis aktuell 3.1.11 wird der gesetzte Symlink erkannt und aus Sicherheitsgründen geblockt. Somit wird die php.ini nicht geladen. Ein Bug (https://git.ispconfig.org/ispconfig/ispconfig3/issues/4408) wurde bereits berichtet. Solange sollte der Pfad in ISPConfig auf die Version 7.1 verweisen. Ein Patch wird in eine der nächsten Versionen erwartet.
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.