Hier eine kleine schnelle Roadmap für die Installation weiterer PHP Versionen unter ispConfig3
apt -y install build-essential nano net-tools autoconf
apt install libfcgi-dev libfcgi0ldbl libmcrypt-dev libssl-dev libc-client2007e libc-client2007e-dev libxml2-dev libbz2-dev libcurl4-openssl-dev libjpeg-dev libpng-dev libfreetype6-dev libkrb5-dev libpq-dev libxml2-dev libxslt1-dev libzip-dev libsqlite3-dev libonig-dev
ln -s /usr/lib/libc-client.a /usr/lib/x86_64-linux-gnu/libc-client.a
cd /usr/include ln -s x86_64-linux-gnu/curl
cd /tmp wget https://www.php.net/distributions/php-7.4.0.tar.gz tar xfz php-7.4.0.tar.gz cd php-7.4.0
./configure --prefix=/opt/php-7.4 --with-pdo-pgsql --with-zlib-dir --with-freetype --enable-mbstring --enable-soap --enable-calendar --with-curl --with-zlib --enable-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 --with-zip --with-pdo-mysql --with-mysqli --with-mysql-sock=/var/run/mysqld/mysqld.sock --with-jpeg --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-intl --with-pear --enable-fpm
make make install
cp php.ini-production /opt/php-7.4/lib/php.ini cp /opt/php-7.4/etc/php-fpm.conf.default /opt/php-7.4/etc/php-fpm.conf cp /opt/php-7.4/etc/php-fpm.d/www.conf.default /opt/php-7.4/etc/php-fpm.d/www.conf
sed -i 's/;pid = run\/php-fpm.pid/pid = run\/php-fpm.pid/g' /opt/php-7.4/etc/php-fpm.conf
nano /lib/systemd/system/php-7.4-fpm.service
Und folgendes eintragen
[Unit] Description=The PHP 7.4 FastCGI Process Manager After=network.target [Service] Type=simple PIDFile=/opt/php-7.4/var/run/php-fpm.pid ExecStart=/opt/php-7.4/sbin/php-fpm --nodaemonize --fpm-config /opt/php-7.4/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
Danach geht es wieder klassisch in der Shell weiter.
systemctl enable php-7.4-fpm.service systemctl daemon-reload systemctl start php-7.4-fpm.service
echo zend_extension=opcache.so >> /opt/php-7.4/lib/php.ini
cd /opt/php-7.4/etc ../bin/pecl -C ./pear.conf update-channels ../bin/pecl -C ./pear.conf install memcached
echo extension=memcached.so >> /opt/php-7.4/lib/php.ini
cd /opt/php-7.4/etc ../bin/pecl -C ./pear.conf update-channels ../bin/pecl -C ./pear.conf install apcu echo extension=apcu.so >> /opt/php-7.4/lib/php.ini service apache2 restart
systemctl start php-7.4-fpm.service
In iscConfig3 geht es dann unter „System“ -> „Additional PHP Versions“ weiter. Dort auf „Add…“ klicken und einen sinnvollen Namen, z.B. PHP 7.4, eingeben.
Im Registertab „FastCGI Settings“ kommt folgendes in die beiden Zeilen:
/opt/php-7.4/bin/php-cgi /opt/php-7.4/lib
In die Registerkarte „PHP FPM Setting“ kommt dann:
php-7.4-fpm /opt/php-7.4/lib /opt/php-7.4/etc/php-fpm.d
Anschliessend kann man die PHP Version in der Site-Konfiguration des Kunden anpassen.