Compilation php5.3 / mysql

Hier, 10:08

Je souhaite installer php 5.3-fpm sur Debian 9 / ispconfig 3.1.13 en m’inspirant de ce tutoriel https://www.howtoforge.com/tutorial/how … on-debian/ et de celui-ci https://askubuntu.com/questions/462673/ … untu-14-04
Mais le configure échoue:

./configure \
--prefix=/opt/php-5.3.22 \
--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=/usr/bin/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-kerberos \
--with-gettext \
--with-xmlrpc \
--with-xsl \
--enable-fpm
...
configure: error: Cannot find MySQL header files under /usr/lib/mysql.
Note that the MySQL client library is not bundled anymore!
root@ns1:/usr/local/src/php5-build/php-5.3.29# whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

Des idées ?

Oui, installe le paquet dev qui correspond à ton mysql installé pour que le configure trouve les .h qui manquent.
Le paquet default-libmysqlclient-dev peut être ?

pas de default-libmysqlclient-dev en vue:

root@ns1:~# dpkg -l *mysql*
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name              Version       Architecture  Description
+++-=================-=============-=============-=======================================
ii  dbconfig-mysql    2.0.8         all           dbconfig-common MySQL/MariaDB support
un  default-mysql-cli <none>        <none>        (no description available)
un  default-mysql-ser <none>        <none>        (no description available)
ii  dovecot-mysql     1:2.2.27-3+de amd64         secure POP3/IMAP server - MySQL support
un  libaprutil1-dbd-m <none>        <none>        (no description available)
ii  libclass-dbi-mysq 1.00-3        all           extensions to Class::DBI for MySQL
ii  libdbd-mysql-perl 4.041-2       amd64         Perl5 database interface to the MariaDB
un  libtime-piece-mys <none>        <none>        (no description available)
un  mysql-client-5.5  <none>        <none>        (no description available)
un  mysql-client-5.6  <none>        <none>        (no description available)
un  mysql-client-5.7  <none>        <none>        (no description available)
un  mysql-client-core <none>        <none>        (no description available)
un  mysql-client-core <none>        <none>        (no description available)
un  mysql-client-core <none>        <none>        (no description available)
ii  mysql-common      5.8+1.0.2     all           MySQL database common files, e.g. /etc/
un  mysql-common-5.6  <none>        <none>        (no description available)
un  mysql-server-5.5  <none>        <none>        (no description available)
un  mysql-server-5.6  <none>        <none>        (no description available)
un  mysql-server-5.7  <none>        <none>        (no description available)
un  mysql-server-core <none>        <none>        (no description available)
un  mysql-server-core <none>        <none>        (no description available)
un  mysql-server-core <none>        <none>        (no description available)
ii  php-mysql         1:7.0+49      all           MySQL module for PHP [default]
un  php-mysqli        <none>        <none>        (no description available)
un  php-mysqlnd       <none>        <none>        (no description available)
un  php-pdo-mysql     <none>        <none>        (no description available)
rc  php5.6-mysql      5.6.38-1+0~20 amd64         MySQL module for PHP
un  php5.6-mysqli     <none>        <none>        (no description available)
un  php5.6-mysqlnd    <none>        <none>        (no description available)
un  php5.6-pdo-mysql  <none>        <none>        (no description available)
ii  php7.0-mysql      7.0.30-0+deb9 amd64         MySQL module for PHP
un  php7.0-mysqli     <none>        <none>        (no description available)
un  php7.0-mysqlnd    <none>        <none>        (no description available)
un  php7.0-pdo-mysql  <none>        <none>        (no description available)
ii  postfix-mysql     3.1.8-0+deb9u amd64         MySQL map support for Postfix
ii  pure-ftpd-mysql   1.0.43-3      amd64         Secure and efficient FTP server with My
ii  roundcube-mysql   1.2.3+dfsg.1- all           metapackage providing MySQL dependencie
un  rsyslog-mysql     <none>        <none>        (no description available)
un  virtual-mysql-cli <none>        <none>        (no description available)
un  virtual-mysql-cli <none>        <none>        (no description available)
un  virtual-mysql-ser <none>        <none>        (no description available)
un  virtual-mysql-ser <none>        <none>        (no description available)

Ben pourtant si, mais tu dois avoir un sources.list un peu limité car:

  • en jessie:
mattotop@emeraude:~$ apt-cache policy default-libmysqlclient-dev
default-libmysqlclient-dev:
  Installé : (aucun)
  Candidat : 1.0.1~bpo8+1
 Table de version :
     1.0.1~bpo8+1 0
        100 http://httpredir.debian.org/debian/ jessie-backports/main amd64 Packages
mattotop@emeraude:~$ 
  • en stretch:
mattotop@mercure:~$ apt policy default-libmysqlclient-dev
default-libmysqlclient-dev:
  Installé : (aucun)
  Candidat : 1.0.2
 Table de version :
     1.0.2 500
        500 http://httpredir.debian.org/debian stretch/main amd64 Packages
mattotop@mercure:~$ 

Mais ce n’est peut être pas ce paquet dev là qui manque.
Il faudrait regarder ce qu’il y a comme paquet …-dev dans la liste, mais il n’y en a pas un seul dans ce que tu montres, c’est anormal, et signe de plus que tu as un fichier sources.list trop limité quelque part.

Semblerait que compiler php5-3 sur stretch soit mission impossible. Je vais donc me contenter de php5.6 et adapter le site en fonction. J’ai installé php5-gd en ajoutant les sources-list de Jessie:

root@ns1:~# dpkg -l php5-gd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name              Version       Architecture  Description
+++-=================-=============-=============-=======================================
ii  php5-gd           5.6.38+dfsg-0 amd64         GD module for php5

Maintenant comment lier ce GD dans le configure avec le --with-gd= ? Autrement dit quel chemin dois je indiquer et comment le trouver ?

Comme ça peut être:

root@emeraude:~# dpkg -L php5-gd | grep "\.so$"
/usr/lib/php5/20131226/gd.so

Pardon. --with-gd= demande un répertoire pas une librairie.
ça doit donc être la partie chemin de ce que j’ai indiqué, soit /usr/lib/php5/20131226/ ou un truc comme ça.
Sinon, dpkg -L php5-gd te dit ou se sont déployés tous les fichiers du paquet.

J’ai trouvé le problème. En fait le configure était bon mais il fallait faire un clean du PHP avant de recompiler, sinon les objets restaient inchangés:

Code : Source

make clean
make distclean

et installer les librairies jpeg:

Code : Source

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

Inutile d’installer php5-gd. GD est compilé dans le PHP5.6-fpm