2008-10-01 4 views
2

J'ai mis à jour php.ini et déplacé php_mysql.dll comme expliqué dans steps 6 and 8 here.Comment installer des modules MySQL dans PHP?

Je reçois cette erreur & hellip;

Fatal error: Call to undefined function mysql_connect() in C:\inetpub...

MySQL ne se présente pas dans mon phpinfo; rapport.


J'ai mis à jour le c: \ Windows \ php.ini fichier de

; Directory in which the loadable extensions (modules) reside. 
extension_dir = "./"

à

; Directory in which the loadable extensions (modules) reside. 
extension_dir = ".;c:\Windows\System32"

Résultat: aucun changement.


J'ai changé le php.ini valeur de extension_dir ainsi:

extension_dir = "C:\Windows\System32"

Résultat: beaucoup plus dans le phpinfo; rapport, mais MySQL ne fonctionne toujours pas.


Je copié le fichier libmysql.dll du dossier C: \ php aux dossiers C: \ Windows \ System32 et C: \ Windows

Résultat: aucun changement.


Je me suis arrêté et redémarrés IIS.

Résultat: nouveau, différentes erreurs à la place!

Warning: mysql_connect() [function.mysql-connect]: Access denied for 
user '...'@'localhost' (using password: YES) in C:\inetpub\... 
error in query.
Fatal error: Call to a member function RecordCount() on a non-object 
in C:\inetpub\...

J'ai trouvé plusieurs fichiers .php dans le site où je devais définir des variables:

$db_user 
$db_pass

Résultat: Le site fonctionne!

Répondre

5

Comme les autres disent que ces deux valeurs dans php.ini sont cruciales.

J'ai ce qui suit dans mon php.ini: notez le slash final - je ne sais pas si c'est nécessaire - mais ça marche.

extension_dir = "H:\apps\php\ext\" 
extension=php_mysql.dll 

Aussi il convient de veiller à ce que vous avez une seule copie de php.ini sur votre machine - j'ai eu des problèmes avec ce où j'ai Editting un fichier php.ini qui est de ne pas utiliser php et devenir très frustré jusqu'à ce que je me suis rendu compte.

De plus, si PHP est exécuté en tant que module dans Apache, vous devrez redémarrer le serveur apache pour récupérer les modifications. Wise de le faire dans n'importe quel cas si vous n'êtes pas sûr. Un "php -m" de l'invite cmd vous montrera les modules qui sont chargés à partir du fichier ini

+0

Les indices "php.ini extension_dir" et "redémarrer le serveur apache" (IIS dans mon cas) étaient la clé. Je vous remercie. –

+0

"Il vaut également la peine de s'assurer que vous avez seulement une copie de php.ini sur votre machine." Si vous en avez plusieurs et que vous voulez savoir lequel est utilisé, ajoutez 'phpinfo()' à une page. L'un des premiers éléments d'information "fichier de configuration chargé" - l'emplacement du fichier 'php.ini' qu'il utilise. –

1

Dans le fichier php.ini, vérifiez si la configuration du chemin d'extension est valide.

+0

Voir la remarque concernant extension_dir dans la question ci-dessus. –

+0

C'est mauvais, je n'ai pas accès à ma boîte de PHO en ce moment. Je pense que l'extension dir doit être unique. Essayez "c: \ windows \ system32" Essayez-le avec un "\" final aussi. Essayez-le avec "c: \\ windows \\ system32". – vIceBerg

1

Sur une note complètement différente, pourrais-je suggérer WampServer? Il devrait vous permettre de démarrer avec une installation Apache/PHP/MySQL en un rien de temps.

Vous pouvez même comparer les fichiers de configuration WampServer avec les vôtres pour voir où vous vous êtes trompés.

Questions connexes