2010-04-23 5 views
6

J'ai installé PHP avec succès sur une machine Windows 7 mais je ne peux pas pour la vie de moi l'obtenir pour lire le fichier php.ini.php.ini ne pas être lu avec Windows 7 installation

J'ai décommenté la ligne pour que php utilise mysql et quand je lance phpinfo(), il ne s'affiche jamais.

J'ai vérifié pour m'assurer qu'il n'y a qu'un seul fichier php.ini sur mon lecteur c: \ entier et il est assis dans mon dossier c: \ windows.

Quelqu'un d'autre a-t-il rencontré cela et connaît une solution pour que php lise le .ini afin que je puisse activer certaines extensions (mysql etc)?

Répondre

5

Vérifiez les points suivants:

  1. Assurez-vous que vous avez un seul fichier php.ini. Il devrait être dans le même dossier que php.exe, php-cgi.exe et php-win.exe. Il est intéressant de vérifier vos dossiers c:\windows et c:\windows\system32. Si vous trouvez un php.ini là ou ailleurs sur le PATH autre que le dossier d'installation PHP puis supprimez-les.

    Une façon pratique de vérifier cela est d'exécuter where php.ini à partir de l'invite de commande.

  2. Ajoutez votre installation de PHP et les dossiers des extensions au système PATH: Par exemple - c:\php et c:\php\ext

  3. Modifier votre fichier php.ini et assurez-vous que les points de directive extension_dir dans le dossier Extensions: extension_dir=c:\php\ext

Cela devrait vous aider à démarrer. Si vous trouvez toujours que les extensions ne sont pas chargées, ajoutez l'extension ext/. Par exemple:

extension=ext/php_mysql.dll

Vous ne précisez pas si vous utilisez FastCGI pour lancer PHP.

Si vous mapper simplement l'extension .php directement à php-cgi.exe ou vous utilisez FastCGI mais n'avez pas spécifié un attribut monitorChangesTo alors vous devez tuer tous les processus php-cgi.exe pour forcer une relecture de php.ini après tout changement (ou faites un IISRESET).

Si vous utilisez FastCGI sur Windows 7 (ou IIS 7.5 en général), vous pouvez déclencher le recyclage des FastCGI chaque fois que vos php.ini modifications de fichiers en spécifiant un le chemin du fichier php.ini dans l'attribut monitorChangesTo. Ceci est également configurable via IIS Manager sous l'applet Paramètres FastCGI.

0

J'avais exactement la même erreur. Lorsque j'ai essayé d'exécuter php -m à partir de la ligne de commande, il était en train d'extraire les modules appropriés, donc je savais que le bon php.ini était en cours de chargement.

Cependant, sur le serveur Web Il a continué à remonter mon dossier racine php comme extension_dir, peu importe ce que j'ai changé. J'ai fait deux ou trois choses et cela semblait résoudre le problème.Tout d'abord, je me suis assuré que le chemin mes extensions avaient IIS_USer droits de lecture. Je ne sais pas si cela a quelque chose à voir avec le fait de travailler ou non, car cela n'a rien fait en soi. Deuxièmement, je suis retourné dans le Gestionnaire des services Internet (IIS), chargé les mappages de gestionnaires que j'avais utilisés pour configurer initialement le gestionnaire PHP pour utiliser FastCGI. Je n'avais pas besoin de changer quoi que ce soit, mais en soulevant la boîte de dialogue, et en la sauvegardant, elle a demandé confirmation. Après cela, je suis retourné à ma page phpinfo(), et il a tiré les bonnes informations concernant les extensions_dir.

J'espère que cela aidera quelqu'un sur la route.

+0

Juste couru dans le même problème après la mise à niveau de ma version de php et j'ai oublié que j'ai changé le nom du dossier. Assurez-vous donc que le chemin vers l'exécutable est correct sur le module FastCGI dans Handler Mappings – stibay

Questions connexes