En circunstancias normales, se puede mostrar la página de phpinfo(). Comencemos con los problemas que surgen después de poder mostrar esta página.
Los problemas de PHP se mostrarán en la página phpinfo()
Primero, verifique si la ruta de su php.ini es correcta
. archivo, pero después de reiniciar el servidor ¿Por qué no funciona nada?
R: Este problema involucra principalmente las siguientes situaciones.
La primera razón es que el archivo php.ini leído por el sistema no es consistente con el archivo php.ini que modificó en ese momento. Puede verificar la lectura actual del servidor PHP a través de la opción Ruta del archivo de configuración (php.ini). phpinfo() ¿Qué php.ini es?
2. Si desea cambiar la ubicación de acceso al archivo de php.ini, puede consultar el orden de búsqueda de php.ini, como se muestra a continuación:
a) La ubicación especificada por el módulo SAPI (directiva PHPIniDir en Apache 2, opción de línea de comando -c en CGI y CLI, parámetro php_ini en NSAPI, variable de entorno PHP_INI_PATH en THTTPD)
b) HKEY_LOCAL_MACHINESOFTWAREPHPIniFilePath (ubicación del registro de Windows)
c) Variable de entorno PHPRC d) Directorio de trabajo actual (para CLI)
e) El directorio del servidor web (para el módulo SAPI) o el directorio donde se encuentra PHP (otros casos bajo Windows)
f) Directorio de Windows (C:windows o C:winnt), o la ubicación especificada por la opción de tiempo de compilación --with-config-file-path 3. Enfoque general: al configurar la variable de entorno PHPRC,
a) Operación: haga clic con el botón derecho en Mi PC->Propiedades->Avanzado->Variables de entorno b) Cree una nueva variable de entorno en las variables del sistema con "el nombre de la variable es PHPRC y el valor de la variable es la ruta del archivo php.ini "
La segunda razón es: PHP no encontró la biblioteca de extensión correspondiente 1. Verifique la ubicación de la biblioteca de extensión encontrada por PHP: puede verla en la opción extension_dir de phpinfo() 2. Cambie el archivo extension_dir en php.ini
. Tercera razón: no se puede reiniciar IIS por completo
1. Las modificaciones a php.ini deben reiniciarse por completo para que surtan efecto, no solo en el sitio actual.
2. Ingrese cmd, detenga el servidor: net stop iisadmin; inicie el servidor: net start w3svc;
P: ¿Por qué no puedo activar la biblioteca de extensiones MySql en mi PHP?
R: En PHP5.0 y superiores, MySQL no está habilitado de forma predeterminada, por lo que debemos activarlo manualmente.
1. Para ejecutar MySql en PHP, debe activar la biblioteca de enlaces dinámicos php_mysql.dll en php.ini. Además, debe acceder a la biblioteca de enlaces del cliente MySQL, es decir, el archivo libmysql.dll 2. Puede activarlo. la biblioteca de enlaces dinámicos php_mysql.dll a través de la extensión en la biblioteca de conexión php.ini y el archivo libmysql.dll debe colocarse en la ruta del sistema de Windows para acceder a él. Puede copiar libmysql.dll al directorio system32 o agregarlo. una nueva ruta a la variable de entorno PATH.
3. Enfoque recomendado: configure PATH para facilitar futuras actualizaciones de PHP. Simplemente agregue la carpeta donde se encuentra "libmysql.dll" después de PATH en la variable de entorno del sistema. Recuerde separarlos con ";" 4. [Caso] Recientemente, el servidor no puede encontrar la biblioteca de extensiones MySql, lo que provoca que el programa no se ejecute. Por lo tanto, elimine todos los archivos y vuelva a configurar el servidor PHP. Pero al final, cuando instalé MySql, no pude activar la biblioteca de extensiones MySql.
La información que se encuentra en phpinfo() es la siguiente:
RUTA:c:php
PHPRC:C:php
extensión_dir:c:phpext
Además, probé activando otras bibliotecas, como msql, gd2, xml, y se pueden mostrar normalmente en phpinfo (), lo que demuestra que PHP puede encontrar la biblioteca de enlaces dinámicos php_mysql.dll, y otra condición para el funcionamiento de MySql es para poder consultar el cliente MySQL. La biblioteca de conexión del terminal es el archivo libmysql.dll. Parece que el problema radica aquí.
Busqué el archivo libmysql.dll en la unidad C y descubrí que había un archivo en las carpetas system32 y php. Después de hacer una copia de seguridad, intenté eliminar el archivo libmysql.dll en system32 y descubrí que estaba bloqueado y no podía. No se puede eliminar, pero se le puede cambiar el nombre. Cambié el nombre casualmente y reinicié IIS, y el servidor funcionó normalmente.
Un punto adicional: si la ruta del archivo de configuración (php.ini) se muestra como C:Windows
, significa que el archivo php.ini no se ha leído.
Además, descubrí que cuando usamos IIS para integrar PHP, hay dos formas: modo ISAPI y CGI.
En ambas formas, podemos ver la página phpinfo
, pero usando el modo ISAPI, las variables de entorno no se pueden leer, por lo que la variable de entorno PHPRC. está configurada. No se puede encontrar la ruta php.ini.
Simplemente use CGI, para no tener que copiar muchos archivos al archivo del sistema.