Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 13 utilisateurs en ligne, consultez le détail
Auteur Message
lume
#0 Message posté le : 06-01-2008 à 17:11:32


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 12-01-2004
Nombre de messages : 148
Bonjour,

J'ai installé apache 1.3.31, php 4.3.11 et Mysql 5.0.41 sur une slackware 12.0. J'essaie d'installer phpmyvisit qui me signale que l'extension de Mysql n'est pas active (activée ou accessible?). Mysql n'apparait pas non plus dans la page de test de php bien que le programme soit lancé (/etc, puis /rc.d/rc.mysqld start.

L'extension mysql.so est pourtant bien présente dans /usr/lib/php/extensions/ et la ligne est décommentée dans le fichier php.ini.

phpmyadmin me renvoie par ailleurs le message suivant qui confirme le pb :
phpMyAdmin - Erreur
PHP ne peut charger l'extension mysql,
veuillez v�rifier votre configuration de PHP


J'ai vu que cette question est souvent posée sur les forums mais les réponses sont peu claires.

Qui a une réponse?

-------------------------------------
Lume
jblecanard
#1 Message posté le : 06-01-2008 à 17:56:48


Elfe


Forum : Modérateur
Association : Membre fondateur
Arrivé(e) le : 08-01-2005
Nombre de messages : 3990
La disponibilité de ce module se choisit normalement à la compilation.

Comment as tu installé php ? Que se passe-t-il si tu tente d'exécuter PHP en ligne de commande avec un fichier simple ( php test.php par exemple ) ?

-------------------------------------
C'est une situation bien inconfortable que d'être assez sensible à la bêtise pour en souffrir et trop intelligent pour s'en indigner. - Gustave Thibon -
lume
#2 Message posté le : 06-01-2008 à 19:23:04


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 12-01-2004
Nombre de messages : 148
Voici ce que j'obtiens en ligne de commande :

[]bernard@kergouguec:~$ php mytest.php
PHP Warning: Unknown(): Unable to load dynamic library '/usr/lib/php/extensions/mysql.so' - libmysqlc lient.so.14: cannot open shared object file: No such file or directory in Unknown on line 0
Could not open input file: mytest.php.


J'ai installé le paquetage manquant et cela devrait fonctionner car je n'ai plus de message d'erreur de la part de phpmyvisit.
Merci !

-------------------------------------
Lume
lume
#3 Message posté le : 07-01-2008 à 09:09:27


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 12-01-2004
Nombre de messages : 148
Je crois que je me suis réjoui un peu rapidement. Pour être précis, j'ai installé php avec le package php-4.3.11-i686-1.tgz.
La commande php mytest.php me renvoie le message suivant : (en root comme en user)
Could not open input file: mytest.php.

Pour autant, mysql apparait bien qd je lance le test en localhost avec un navigateur :
mysql
MySQL Support
enabled
Active Persistent Links 0
Active Links 0
Client API version 4.1.9
MYSQL_MODULE_TYPE none
MYSQL_SOCKET /var/lib/mysql/mysql.sock
MYSQL_INCLUDE no value
MYSQL_LIBS no value


Directive
Local Value
Master Value
mysql.allow_persistent On On
mysql.connect_timeout 60 60
mysql.default_host no value no value
mysql.default_password no value no value
mysql.default_port no value no value
mysql.default_socket no value no value
mysql.default_user no value no value
mysql.max_links Unlimited Unlimited
mysql.max_persistent Unlimited Unlimited
mysql.trace_mode Off Off


Pour info, j'avais auparavant créé un utilisateur (user) avec mot de passe pour utiliser mysql.

Qd je veux lancer l'installation de phpmyadmin en user, j'obtiens le message suivant :
Erreur
#2002 - Le serveur ne répond pas. (ou l'interface de connexion ("socket") vers le serveur MySQL local n'est pas correctement configurée)

J'ai vu sur les forums qu'il fallait changer "localhost" en "Localhost" dans le fichier "config.inc.php". Voici ce que j'obtiens une fois la modif effectuée.

Erreur
#2013 - Lost connection to MySQL server during query


Message qu'on voit souvent dans les forums.Apparemment, je ne suis pas plus avancé.

Qui aurait une piste ??

-------------------------------------
Lume
lume
#4 Message posté le : 08-01-2008 à 11:43:17


Scarabée


Forum : Inscrit
Association :
Arrivé(e) le : 12-01-2004
Nombre de messages : 148
Il me semble avoir trouvé l'explication. Il suffit de modifier le fichier /etc/apache/php.ini et d'indiquer le chemin où se situe le fichier mysql.sock. Chez moi, c'est dans /var/run/mysql

; Default socket name for local MySQL connects. If empty, uses the built-in
; MySQL defaults.
mysql.default_socket =/var/run/mysql/mysql.sock



Voici l'info.

I think I solved it, the socket file is located in /tmp/mysql.lock. Aparently some defaults changed in the PHP MySQL client, so it now looks in the wrong place. You need to point PHP to the right socket by editing the php.ini file and restarting the webserver.

I wouldn't know how to do this using the graphical interface, so I just assume you know some UNIX and have the BSD subsystem installed.

Open a terminal, type in "ls -al /etc/php.ini*"
If a php.ini does not exist copy over the default php.ini, "sudo cp /etc/php.ini.default /etc/php.ini"
Now edit the php.ini, "sudo nano /etc/php.ini" (or use your prefered editor)
Find "mysql.default_socket" (you can search using [Ctrl]+[w] in nano)
Enter "/tmp/mysql.sock" after the equals sign.
Don't forget to save the file ([Ctrl]+[o] [Enter] in nano)
Now restart Apache, "sudo apachectl graceful"

And.. Boom! It works! ;-)

et le lien :

http://discussions.apple.com/thread.jspa?messageID=1496874

-------------------------------------
Lume