Installer PHP5.6-fpm avec extension GD et MYSQL sur un serveur Debian 9 / ispconfig

Si comme moi vous avez de vieux sites qui tournent sous Joomla 1.0 vous serez peut-être amené à installer une version de PHP compatible. Ispconfi 3.1 permet d'installer facilement plusieurs versions de PHP différentes sur un serveur Debian 9, en suivant ce tutoriel, par exemple:

Mais si vous obtenez des messages du genre:

GD image library not installed!
...
Can't connect to DB

il est nécessaire d'adapter le ./configure pour intégrer GD ou MYSQL, par exemple. Dans le cas de GD il faut ajouter quelques librairies qui ne sont pas présentes par défaut sur Stretch:

apt-get install libjpeg-dev
apt-get install libfreetype6-dev

Si vous avez déjà fait une compilation de PHP il est alors nécessaire de la nettoyer avant de recompiler:

make clean
make distclean


il faut ensuite configurer PHP selon vos besoins (ici avec support de MYSQL et GD): 

cd /usr/local/src/php5.6-build/php-5.6.33/
./configure --prefix=/opt/php-5.6 --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-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=/opt/openssl --with-fpm-user=www-data --with-fpm-group=www-data --with-libdir=/lib/x86_64-linux-gnu --enable-ftp --with-kerberos --with-gettext --with-xmlrpc --with-xsl --enable-opcache --enable-fpm --with-mysql --with-gd
make
make install


Trouver le socket mysql qu’on trouve dans le phpinfo :

/opt/php-5.6/bin/php -r "echo phpinfo();" | grep _socket


et le mettre dans php.ini (ex. avec /var/run/mysqld/mysqld.sock ):

pdo_mysql.default_socket = /var/run/mysqld/mysqld.sock
mysql.default_socket = /var/run/mysqld/mysqld.sock
mysqli.default_socket = /var/run/mysqld/mysqld.sock


Relancer php-fpm:

systemctl restart php-5.6-fpm.service

Tester:

/opt/php-5.6/bin/php -r "echo phpinfo();" | grep --with-mysql
/opt/php-5.6/bin/php -r "print_r gdpinfo();"