Dans des circonstances normales, la page de phpinfo() peut être affichée. Commençons par les problèmes qui surviennent après avoir pu afficher cette page.
Les problèmes PHP seront affichés sur la page phpinfo().
Tout d'abord, vérifiez si le chemin de votre php.ini est correct.
Q : J'ai configuré le php.ini. fichier, mais après le redémarrage du serveur. Pourquoi rien ne fonctionne ?
R : Ce problème concerne principalement les situations suivantes.
La première raison est que le fichier php.ini lu par le système est incohérent avec le fichier php.ini que vous avez modifié à ce moment-là. 1. Vous pouvez vérifier le serveur PHP actuel en lisant via l'option Chemin du fichier de configuration (php.ini) de. phpinfo() Quel est le php.ini
2. Si vous souhaitez modifier l'emplacement d'accès au fichier php.ini, vous pouvez vous référer à l'ordre de recherche de php.ini, comme indiqué ci-dessous :
a) L'emplacement spécifié par le module SAPI (directive PHPNiDir dans Apache 2, option de ligne de commande -c dans CGI et CLI, paramètre php_ini dans NSAPI, variable d'environnement PHP_INI_PATH dans THTTPD)
b) HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath (emplacement du registre Windows)
c) Variable d'environnement PHPRC d) Répertoire de travail actuel (pour CLI)
e) Le répertoire du serveur web (pour le module SAPI) ou le répertoire où se trouve PHP (autres cas sous Windows)
f) Répertoire Windows (C:windows ou C:winnt), ou l'emplacement spécifié par l'option de compilation --with-config-file-path 3. Approche générale : en définissant la variable d'environnement PHPRC,
a) Opération : cliquez avec le bouton droit sur Poste de travail-> Propriétés-> Avancé-> Variables d'environnement b) Créez une nouvelle variable d'environnement sous les variables système avec "le nom de la variable est PHPRC et la valeur de la variable est le chemin de votre fichier php.ini "
La deuxième raison est : PHP n'a pas trouvé la bibliothèque d'extension correspondante 1. Vérifiez l'emplacement de la bibliothèque d'extension trouvée par PHP : Vous pouvez la voir dans l'option extension_dir de phpinfo() 2. Changez le fichier extension_dir dans php.ini
. troisième raison : il n'y a pas de redémarrage complet d'IIS
1. Les modifications apportées au php.ini doivent être complètement redémarrées pour prendre effet, pas seulement sur le site actuel.
2. Entrez cmd, arrêtez le serveur : net stop iisadmin ; démarrez le serveur : net start w3svc ;
Q : Pourquoi ne puis-je pas activer la bibliothèque d'extensions MySql dans mon PHP ?
R : Dans PHP5.0 et versions ultérieures, MySQL n'est pas activé par défaut, nous devons donc l'activer manuellement.
1. Pour exécuter MySql en PHP, vous devez activer la bibliothèque de liens dynamiques php_mysql.dll dans php.ini. De plus, vous devez accéder à la bibliothèque de liens client MySQL, c'est-à-dire le fichier libmysql.dll. la bibliothèque de liens dynamiques php_mysql.dll via l'extension dans la bibliothèque de connexion php.ini ; et le fichier libmysql.dll doit être placé dans le chemin système Windows PATH pour y accéder. Vous pouvez copier libmysql.dll dans le répertoire system32, ou l'ajouter. un nouveau chemin vers la variable d'environnement PATH.
3. Approche recommandée : définissez PATH pour faciliter les futures mises à niveau de PHP. Ajoutez simplement le dossier où se trouve "libmysql.dll" après PATH dans la variable d'environnement système. N'oubliez pas de les séparer par ";" 4. [Case] Récemment, le serveur n'a pas trouvé la bibliothèque d'extension MySql, ce qui a entraîné l'échec de l'exécution du programme. Par conséquent, supprimez tous les fichiers et reconfigurez le serveur PHP. Mais au final, lorsque j'ai installé MySql, je n'ai pas pu activer la bibliothèque d'extensions MySql.
Les informations trouvées dans phpinfo() sont les suivantes :
CHEMIN :c:php
PHPRC:C:php
rép_extension:c:phpext
De plus, j'ai testé l'activation d'autres bibliothèques, telles que msql, gd2, xml, et elles peuvent être affichées normalement dans phpinfo(), prouvant que PHP peut trouver la bibliothèque de liens dynamiques php_mysql.dll, et une autre condition pour le fonctionnement de MySql est pour pouvoir interroger le client MySQL. La bibliothèque de connexion du terminal est le fichier libmysql.dll Il semble que le problème réside ici.
J'ai recherché le fichier libmysql.dll sur le lecteur C et j'ai découvert qu'il y avait un fichier dans les dossiers system32 et php. Après avoir effectué une sauvegarde, j'ai essayé de supprimer le fichier libmysql.dll dans system32 et j'ai constaté qu'il était verrouillé et pouvait. ne pas être supprimé, mais il pourrait être renommé. J'ai changé le nom avec désinvolture et j'ai redémarré IIS, et le serveur a fonctionné normalement.
Un point supplémentaire : si le chemin du fichier de configuration (php.ini) est affiché comme C:Windows
, cela signifie que le fichier php.ini n'a pas été lu.
De plus, j'ai constaté que lors de l'utilisation d'IIS pour intégrer php, il existe deux manières : les modes ISAPI et CGI.
Dans les deux sens, nous pouvons voir la page phpinfo
mais en utilisant le mode ISAPI, les variables d'environnement ne peuvent pas être lues, donc la variable d'environnement PHPRC. est défini. Le chemin php.ini est introuvable.
Utilisez simplement CGI pour ne pas avoir à copier de nombreux fichiers dans le fichier système.