Bon alors voila... Je suis un peu nouveau sous GNU/Linux, mais vaillant je décide de me lancer dans l'install d'un serveur chez moi pour faire partage de connexion internet, firewall et tout ce qui va avec. Et dans ce qui va avec j'aimerai faire marcher un serveur apache avec php et mysql. Jusque là, rien de bien anormal, personne ne devrait avoir chopé de syncope, ni même se demander si je viens pas de Mars...
Donc voila, je récupère mes sources de apache 2.0.49 (la derniere version), de php 4.3.6 (la derniere version) et d'apres le tuto (en fait y'en a deux : http://www.ze-linux.org/howto.html?id_docs=7&id_docs_page=31(...) et http://www.neokraft.net/docs/apache2/chap2.html(...) ) que je suis, pour mysql on verra apres...
Alors me voila armé des archives des sources, prêt à en découdre sévère. Je me lance donc tout d'abord dans l'install de apache. Tout se passe bien, ./configure && make && make install. Nikel. Sur cette bonne lancée, je me lance dans l'install de php, confiant... Mais j'aurais pas dû... (être confiant s'entend !!). Je me fabrique donc ma "petite" ligne de configuration de php :
./configure --enable-calendar --with-mysql --with-apxs2=/usr/local/httpd/bin/apxs --with-config-file-path=/usr/local/httpd/conf --enable-trans-sid --enable-sigchild --with-dom --with-zlib-dir=/usr/include/linux/ --with-dom-xslt --with-dom-exslt
Oui je veux utiliser XML, et DOM, et XSLT... Oui. Et alors ? Y'a plein de gens qui le font alors pourquoi pas moi hein ? J'avais commencé mon site avec tout ça alors maintenant je veux pas recommencer !!!
Donc après quelques ruses de sioux (ou de gruiiiiik) pour lui faire trouver les include pour la libxml2 et la libxsl, je me lance dans le "make". Ou plutot le make de la mort qui tue. Parce que voila l'erreur que je me prends :
/bin/sh /tmp/apache/php-4.3.6/libtool --silent --preserve-dup-deps --mode=compile gcc -I/tmp/apache/php-4.3.6/ext/mysql/libmysql -Iext/mysql/ -I/tmp/apache/php-4.3.6/ext/mysql/ -DPHP_ATOM_INC -I/tmp/apache/php-4.3.6/include -I/tmp/apache/php-4.3.6/main -I/tmp/apache/php-4.3.6 -I/tmp/apache/php-4.3.6/Zend -I/tmp/apache/php-4.3.6/ext/xml/expat -I/tmp/apache/php-4.3.6/TSRM -g -O2 -prefer-pic -c /tmp/apache/php-4.3.6/ext/mysql/libmysql/libmysql.c -o ext/mysql/libmysql/libmysql.lo
In file included from /tmp/apache/php-4.3.6/ext/mysql/libmysql/libmysql.c:4:
/tmp/apache/php-4.3.6/ext/mysql/libmysql/global.h:260: warning: redefinition of `uint'
/usr/include/sys/types.h:153: warning: `uint' previously declared here
/tmp/apache/php-4.3.6/ext/mysql/libmysql/global.h:261: warning: redefinition of `ushort'
/usr/include/sys/types.h:152: warning: `ushort' previously declared here
In file included from /tmp/apache/php-4.3.6/ext/mysql/libmysql/libmysql.c:11:
/tmp/apache/php-4.3.6/ext/mysql/libmysql/m_string.h:183: error: parse error before "__extension__"
/tmp/apache/php-4.3.6/ext/mysql/libmysql/m_string.h:183: error: parse error before '&&' token
make: *** [ext/mysql/libmysql/libmysql.lo] Error 1
j'ai fait expres de copier la ligne de compilation avec
Impossible de trouver d'où ça vient... Alors je me dis que chez moi php-4.3.6 passe pas (après deux heures de tentavives de compilation vous êtes prêt à croire à tout !!!) (PS qui s'impose : je suis sous Debian 3.0 woody passée en testing). Alors je m'empresse de recupérer php-4.3.5 et zou, on y repart avec le configure et le make... de la mort qui tue.. Et oui, la même erreur.. Alors là c'est est trop... Je repart directement à php-4.3.0 pour voir (sans y croire), et paf !!! La même...
Alors voilà ma question : quelqu'un peut-il m'aider à résoudre ce problème ??? Bien évidement, lorsque je précise --without-mysql au configure, tout se passe nikel lors du make...
Merci de vos réponses, ça fait deux jours que je tente de compiler ce php de m**** en vain, et là j'ai les nerfs qui vont lâcher !!!!
# Re: PHP quand tu nous tient....
Posté par Julien Portalier . Évalué à 2.
Sous Debian un simple :
$ apt-get -u install apache mysql php4 php4-mysql phpmyadmin
et tu as tout ce qu'il te faut installer et configuré en moins de quelques minutes, prêt à fonctionner niquel... Bon ok, c'est apache1.3 et pas apache 2, mais de toute façon apache2+php = mauvaise pioche en général. Sachant que sur un serveur perso et pour faire du dév, apache1.3 est largement suffisant (et surtout que tout marche niquel).
Mais c'est vrai, j'oubli l'adage : pourquoi faire simple qd on peut faire compliqué ? ^_^
[^] # Re: PHP quand tu nous tient....
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
Je les utilise depuis plusieurs années sans problème (sur Mandrake), tu peux préciser ?
[^] # Re: PHP quand tu nous tient....
Posté par Julien Duponchelle (site web personnel) . Évalué à 1.
[^] # Re: PHP quand tu nous tient....
Posté par icyfemur . Évalué à 1.
Merci d'etre passé... au suivant.
[^] # Re: PHP quand tu nous tient....
Posté par Pascal Terjan (site web personnel) . Évalué à 1.
Parce que sur la mandrake ca marche très bien (je viens de tester cette fonction).
[^] # Re: PHP quand tu nous tient....
Posté par Éric (site web personnel) . Évalué à 1.
Ce qui ne marche potentiellement pas c'est le mode multithread d'Apache2 (parce que PHP ne cherche pas forcément à être thread safe, les extensions encore moins). Si tu utilises le module prefork d'Apache2 (ce qui est le cas par défaut sous linux) tu as exactement le même comportement qu'Apache1.3.
Le truc c'est que si c'est pour mimer le comportement d'Apache 1.3 autant utiliser Apache 1.3 qui est bien plus testé a a encore bien plus de modules : c'est uniquement pour ça que la php team déconseille le 2.0.
[^] # Re: PHP quand tu nous tient....
Posté par Nicolas Vaton . Évalué à 1.
[^] # Re: PHP quand tu nous tient....
Posté par Pinaraf . Évalué à 1.
J'utilise pas Debian mais sous mandrake y'a des RPMS qui contiennent chaque extension...
# Re: PHP quand tu nous tient....
Posté par Bilbo . Évalué à 1.
Ca peut paraitre bête, mais il me semble que ton erreur de compilation pour ajouter le support MySQL à PHP est due au fait que MySQL n'est pas installé... Il cherche des bibliothèques qu'il ne trouve pas.
[^] # Re: PHP quand tu nous tient....
Posté par Nicolas Vaton . Évalué à 1.
[^] # Re: PHP quand tu nous tient....
Posté par lezardbreton . Évalué à 1.
[^] # Re: PHP quand tu nous tient....
Posté par Éric (site web personnel) . Évalué à 1.
# Re: PHP quand tu nous tient....
Posté par Éric (site web personnel) . Évalué à 1.
as tu pensé à faire un "make clean" et recommencer le configure depuis le début ?
php utilise une lib interne par défaut pour mysql, essaie de ne pas spécifier le "--with-mysql" (mais ne met pas le --without-mysql non plus), ça devrait utiliser la lib embarquée et fonctionner.
[^] # Re: PHP quand tu nous tient....
Posté par Nicolas Vaton . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.