2010-05-29 9 views
1

Je viens d'installer la dernière version de MySQL (64 bits) sur ma boîte Windows 7. C'était une installation straight vanilla, utilisant toutes les valeurs par défaut; mais phpmyadmin ne peut pas le voir du tout. MySQL est configuré en tant que service pour démarrer automatiquement, et je sais qu'il fonctionne parce que les outils de l'interface graphique de MySQL fonctionnent correctement.MySQL sur Windows-7 (64 bits) sur 0.0.0.0:3306 plutôt que 127.0.0.1:3306

Le message d'erreur réelle que je reçois de phpMyAdmin est:

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 

Faire un netstat, je vois

TCP 0.0.0.0:3306   Marks-Netbook:0  LISTENING 

quand je m'attends à 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 suppose 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?

+0

Avez-vous essayé de faire "mysql -u root" à partir d'une console? – cherouvim

+0

Je peux me connecter assez facilement à partir de la console et exécuter des fonctions de ligne de commande typiques en utilisant mysql -u root –

Répondre

1

Impossible de charger l'extension mysql.

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

  1. L'extension "mysql"
  2. Le "mysqli" extension
  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 de MySQL, utilisé par les extensions et le PDO pour se connecter.

+0

Bingo - php chargement du mauvais fichier php.ini, et la présence de mysqlnd dans le phpinfo() m'a fait penser que l'extension était en cours de chargement. Maintenant, avoir une connexion via phpmyadmin merci –

1

L'écoute sur 0.0.0.0 signifie qu'il écoute sur toutes les interfaces, y compris le bouclage 127.0.0.1. Donc, cela ne devrait pas être un problème.

Veuillez poster votre configuration phpmyadmin.

+0

Je ne suis pas sûr que mon problème soit lié au fichier de configuration ... J'ai modifié ma question initiale avec le message que m get de phpmyadmin, ce qui suggère quelque chose de plus fondamentalement faux avec ma configuration PHP –

1

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 (installateur téléchargé 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 (installeur mysql-5.5.12-winx64.msi téléchargé).

Tout semblait s'installer et fonctionner correctement. Apache et MySQL fonctionnaient en tant que service. PHP semblait être OK. Cependant, après avoir passé avec succès la configuration de phpMyAdmin, lorsque j'ai essayé de le démarrer, j'ai eu l'erreur "impossible de charger l'extension mysql".

J'ai passé en revue beaucoup de documentation et de forum. Merci à tous pour vos expériences. Voici ce que j'ai essayé et comment j'ai finalement réussi à le faire fonctionner. Rappelez-vous que dans Win7/64 bits, il n'y a pas de répertoires "Windows" et "WINNT".Apache devrait être dans "Program Files (x86)", MySQL devrait être dans "Program Files" et j'ai mis PHP dans le dossier "C: \ PHP".

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

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

Une autre personne a indiqué que dans votre fichier httpd.conf Apache configurer votre section PHP à quelque chose comme ceci:

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> 

Assurez-vous que les fichiers dll n'existent réellement dans les répertoires spécifiés et de les ajuster si nécessaire.

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

;[PHP_PGSQL] 
;extension=php_pgsql.dll 

(Merci à [email protected]~~V~~singular~~3rd en fil http://www.apachelounge.com/viewtopic.php?t=3180) pour ce dernier bit d'information.

Si vous travaillez sur Win7 64 bits et que vous rencontrez des problèmes pour le faire tourner.