Nous sommes le Dim 27 Juil, 2025 00:39
Supprimer les cookies

[Résolu] librairie MySQL

Sur le logiciel libre en général ou un logiciel libre en particulier

Mar 04 Juil, 2006 14:43

Salut à tous.

J'ai un serveur apache (sous UNIX) sur lequel tourne divers sites internets.
J'ai récupéré un soft d'analyse des flux réseaux qui s'appuie sur une base MySQL.

J'ai un petit script php qui me permet d'attaquer la base MySQL du soft et de cibler plus précisément des infos et de les diffuser sur un des sites.

Jusque là rien de bien sorcier.

Mais je viens de m'apercevoir que mon serveur apache à été compilé ( et configuré) sans MySQL. Donc lors du test du script il me renvoie le message d'erreur
Fatal error: Call to undefined function: mysql_connect() in test_mysql.php on line 3
.

je me tourne vers vous car j'ai une grosse contrainte à respecter:
    impact minimal sur le serveur apache ==> en gros pas de recompilation / installation / arrêt court


Donc après avoir un peu fouiner j'ai pu établir la démarche à suivre suivante:

récupérer la librairie mysql.so
configurer le fichier httpd.conf (primitives LoadModule & AddModule)
configurer le fichier php.ini (extension=mysql.so)

quelqu'un aurait-il une procédure plus simple ou mieux adaptée ?

je retourne reflechir et je vous remercie par avance de vos réponse
@++
Dernière édition par king_kunu le Jeu 06 Juil, 2006 14:07, édité 1 fois au total.
king_kunu

Messages : 11

Mer 05 Juil, 2006 07:04

a priori ce n'est pas apache qui est compilé avec le support mysql mais php
il faudrait récupérer les binaire de mysql et recompiler php avec le support mysql

a confirmer
plegrand

Messages : 40

Mer 05 Juil, 2006 10:01

j'ai suivi ton conseil

j'ai trouvé ca sur doc php

Now, configure your PHP. This is where you customize your PHP
with various options, like which extensions will be enabled. Do a
./configure --help for a list of available options. In our example
we'll do a simple configure with Apache 1 and MySQL support. Your
path to apxs may differ from our example.

./configure --with-mysql --with-apxs=/www/bin/apxs

11. make
12. make install

If you decide to change your configure options after installation,
you only need to repeat the last three steps. You only need to
restart apache for the new module to take effect. A recompile of
Apache is not needed.


je teste ca cette aprem.
@++
king_kunu

Messages : 11

Mer 05 Juil, 2006 11:09

cette option : "--with-apxs=/www/bin/apxs", suppose qu'apache a été compilé avec l'option suivante : "--enable-module=so", qui permet ensuite d'ajouter dynamiquement d'autres modules tels que php


a confirmer
plegrand

Messages : 40

Mer 05 Juil, 2006 14:25

possibilité de rajout de module dynamiquement pour php (et non apache :D )

mais j'ai essayé d'insérer dans le fichier php.ini la ligne
extension=mysql.so
et toujours la meme erreur.

j'ai recherché l'emplacement exact de ce fichier et je ne l'ai pas trouvé
je n'ai que des mysql.h mysql.c.

je continue de prospecter. je vais trouvé :shock:
king_kunu

Messages : 11

Jeu 06 Juil, 2006 08:11

dommage que tu t'obstines........ ;-)
Si apache est compilé avec l'option suivante : --enable-module=so
on pourra ensuite installer php en tant que module dynamique grace à l'option apxs
pour pouvoir en plus utiliser mysql il faudra compiler php de cette façon :
--with-apxs=/usr/local/apache/bin/apxs --with-mysql

sinon pour te faire une idée voici une petite recette qui marche chez moi :

Installer d'abord MySQL puis Apache et enfin PHP
Mysql :
configure
make
make install
Apache :
configure --prefix=/usr/local/apache --enable-module=so
make
make install
php :
configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql
make
make install

dans le httpd.conf ne figureront que les lignes suivante concernant php :

LoadModule php4_module libexec/libphp4.so
AddModule mod_php4.c
Rajouter
AddType application/x-httpd-php .php .php3 .php4 .phtml
AddType application/x-httpd-php-source .phps
Au niveau de la ligne :AddType application/x-tar .tgz
A la ligne :DirectoryIndex index.html
On rajoutera
DirectoryIndex index.html index.htm index.php3 index.php index.php4

c'est php qui fait l'interface avec mysql



tu en fais bien sur ce que tu veux

;-)
plegrand

Messages : 40

Jeu 06 Juil, 2006 13:08

salut plegrand

petit quiproquo.

mon apache est compilé avec --enable-module=so (mea culpa)

et mon php avec --with-apxs=/usr/local/apache/bin/apxs --without-mysql <== d'où l'incompabilité avec mysql (nous sommes d'accord)

j'ai donc recompilé mon php. et maintenant j'ai un pb avec le fichier libexec/libphp4.so qui est inexistant lorsque je relance mon apache mais bien présent sur mon disque.

par contre je vais regarder pour les options que tu me donnes.

Merci de "t'enteter" à m'aider.

@++
king_kunu

Messages : 11

Jeu 06 Juil, 2006 13:33

peut être peux tu localiser précisemment ce fichier avec un find (find / |grep libphp4.so
puis ajouter la ligne qui va bien dans ton httpd.conf
chez moi :
LoadModule php4_module libexec/libphp4.so

bon courage

tu peux eventuellement venir sur irc pour plus d'explications en temps réel
plegrand

Messages : 40

Jeu 06 Juil, 2006 14:07

problème résolu.

recompilation de php avec les bonnes options
(--with-apxs=/usr/local/apache/bin/apxs --with-mysql et non --with-apxs=/www/bin/apxs)

et redémarrage de apache

merci a toi plegrand

si quelqu'un souhiate un résumé il suffit de demander.

@++
king_kunu

Messages : 11

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit