2 votes

MySQL sur Windows-7 (64 bits) sur 0.0.0.0:3306 plutôt que sur 127.0.0.1:3306

Je viens d'installer la dernière version de production de MySQL (64 bits) sur mon ordinateur Windows 7. Il s'agissait d'une installation classique, avec tous les paramètres par défaut, mais phpmyadmin ne le voit pas du tout. MySQL est configuré comme un service qui démarre automatiquement, et je sais qu'il est en cours d'exécution car les outils de l'interface graphique de MySQL fonctionnent correctement.

Le message d'erreur que j'obtiens de phpmyadmin est le suivant :

Cannot load mysql extension. Please check your PHP configuration. - Documentation

phpinfo() montre :

> mysqlnd enabled 
> Version   mysqlnd 5.0.7-dev - 091210 - $Revision: 294543 $
> Compression supported
> Command buffer size  4096 
> Read buffer size   32768 
> Read timeout   31536000
> Collecting statistics  Yes
> Collecting memory statistics  No

En faisant un netstat -a, je vois

TCP    0.0.0.0:3306           Marks-Netbook:0        LISTENING

alors que je m'attendais à voir

TCP    127.0.0.1:3306         Marks-Netbook:0        LISTENING

Je ne sais pas si c'est la raison pour laquelle phpmyadmin ne peut pas se connecter, mais je soupçonne que c'est probablement le cas. Quelqu'un peut-il confirmer si c'est la cause probable, et/ou suggérer comment je peux résoudre ce problème ?

1voto

ZZ Coder Points 36990

Écouter sur 0.0.0.0 signifie qu'il écoute sur toutes les interfaces, y compris la boucle qui est 127.0.0.1. Cela ne devrait donc pas être un problème.

Veuillez afficher votre configuration phpmyadmin.

1voto

Charles Points 33585

Impossible de charger l'extension mysql.

Il y a pas moins de trois façons de se connecter à MySQL depuis PHP :

  1. L'extension "mysql
  2. L'extension "mysqli
  3. AOP

phpMyAdmin semble vouloir utiliser l'extension "mysql". Vérifiez votre php.ini, assurez-vous que l'extension "mysql" est activée. La ligne ressemblera probablement à quelque chose comme extension=php_mysql.dll

"mysqlnd" est le pilote natif pour MySQL, et est utilisé par les extensions et PDO pour se connecter réellement.

1voto

Allan Leake Points 11

J'ai passé les deux derniers jours à essayer de faire fonctionner phpMyAdmin. Mon système d'exploitation est Windows 7 64 bits. Le serveur Apache est la version 2.2 (installation téléchargée httpd-2.2.17-win32-x86-openssl-0.9.8o.msi). La version de PHP est PHP 5.3.6 (cli) (construit : Mar 17 2011 10:37:07). La version de MySQL est 5.5 (installation téléchargée mysql-5.5.12-winx64.msi).

Tout semble s'installer et fonctionner correctement. Apache et MySQL fonctionnaient comme un service. PHP semblait fonctionner correctement. Cependant, après avoir réussi à configurer phpMyAdmin, lorsque j'ai essayé de le lancer, j'ai obtenu l'erreur "cannot load mysql extension".

J'ai passé au peigne fin une grande partie de la documentation et des forums. Merci à tous ceux qui ont publié leurs expériences. Voici ce que j'ai essayé et comment j'ai finalement réussi à le faire fonctionner.

Rappelez-vous que dans Win7 /64 bit il n'y a pas de répertoires "Windows" et "WINNT". Apache doit être dans "Program Files (x86)", MySQL doit être dans "Program Files" et je mets PHP dans le dossier " C:\PHP ".

Une personne a conseillé de placer les répertoires PHP au début du PATH. Je me suis dit pourquoi pas J'ai donc ouvert une fenêtre de commande et édité le chemin de sorte que les quatre premières entrées soient les suivantes :

C:\PHP\ ; C:\PHP\ext ; C:\Program Fichiers \MySQL\MySQL Serveur 5.5 \bin ; C:\Program Fichiers \MySQL\MySQL Serveur 5.5 \lib ;

Une autre personne a conseillé de définir la section PHP de votre fichier Apache httpd.conf comme suit :

LoadFile "C:/php/php5ts.dll"
LoadModule php5_module "C:/php/php5apache2_2.dll"

<IfModule php5_module>
     PHPIniDir "C:/PHP"

    <Location />
        AddType text/html .php .phps
        AddHandler application/x-httpd-php .php
        AddHandler application/x-httpd-php-source .phps
    </Location>

</IfModule>

Vérifiez que les fichiers dll existent effectivement dans les répertoires spécifiés et ajustez-les si nécessaire.

Cependant, la dernière pièce du puzzle se trouve dans le fichier php.ini. Vous devez commenter les extensions PostGres comme suit :

;[PHP_PGSQL]
;extension=php_pgsql.dll

(Merci à homiesimpson@gmail.com dans le fil de discussion http://www.apachelounge.com/viewtopic.php?t=3180 ) pour ce dernier élément d'information.

Si vous travaillez sur Win7 64 bits et que vous avez des difficultés, essayez ceci.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X