2010-04-23 17 views
6

He instalado PHP con éxito en una máquina de Windows 7, pero no puedo por la vida de mí conseguirlo para leer el archivo php.ini.no php.ini que se lee con Windows 7 instalación

he descomentado la línea de php para usar MySQL y cuando corro phpinfo(), que nunca aparece.

He comprobado para asegurarse de que sólo hay un archivo php.ini en toda mi unidad C: \ y está sentado en mi carpeta c: \ windows.

tiene cualquier otra persona ejecute en esto y sabe de una solución para conseguir php para leer los ini para que pueda servir para que algunas extensiones (MySQL, etc)?

Respuesta

5

Comprobar lo siguiente:

  1. Asegúrese de que sólo tiene un php.ini archivo. Debe estar en la misma carpeta que php.exe, php-cgi.exe y php-win.exe. Vale la pena consultar sus carpetas c:\windows y c:\windows\system32. Si encuentra un php.ini allí o en cualquier otro lugar en el PATH que no sea la carpeta de instalación de PHP, elimínelos.

    Una forma práctica de comprobar esto es ejecutar where php.ini desde la línea de comandos.

  2. Añadir su PHP instalar y carpetas extensiones al sistema PATH: Por ejemplo - c:\php y c:\php\ext

  3. editar el archivo php.ini y asegurar que los extension_dir Directiva permite llegar a la carpeta de extensiones: extension_dir=c:\php\ext

Esto debería ponerlo en marcha. Si aún encuentra que las extensiones no se están cargando, anteponga la extensión al ext/. Por ejemplo:

extension=ext/php_mysql.dll

usted no indica si estás usando FastCGI para lanzar PHP.

Si acaba de mapear la extensión .php directamente a php-cgi.exe o estás usando FastCGI pero no ha especificado un atributo monitorChangesTo entonces usted necesita para matar cualquier php-cgi.exe procesos para forzar una re-lectura de php.ini después de cualquier cambio (o haz un IISRESET).

Si estás usando FastCGI en Windows 7 (o IIS 7.5 en general), entonces puede desencadenar el reciclaje de FastCGI cada vez que sus archivos php.ini cambios mediante la especificación de una la ruta al archivo de php.ini en el atributo monitorChangesTo. Esto también se puede configurar a través del Administrador de IIS en el applet Configuración de FastCGI.

0

que estaba teniendo el mismo error exacto. Cuando intenté ejecutar php -m desde la línea de comandos, estaba sacando los módulos apropiados, así que sabía que se estaba cargando el php.ini correcto.

Sin embargo, en el servidor web Se mantuvo tirando de mi carpeta raíz php como el dir extensión, sin importar lo que cambié.

Hice un par de cosas y pareció resolverlo.

Primero, me aseguré de que la ruta de mis extensiones tuviera los derechos de lectura IIS_USer. No sé si esto tiene algo que ver con que funcione o no, ya que esto por sí solo no hizo nada.

2º, volví al Administrador de IIS, cargué las asignaciones de controlador que había utilizado inicialmente para configurar el controlador de php para usar FastCGI. No tuve que cambiar nada, pero al abrir el cuadro de diálogo y guardarlo, me pidió confirmación. Después de eso, volví a mi página de phpinfo() y saqué la información correcta con respecto al extensions_dir.

Espero que esto ayude a alguien en el futuro.

+0

Acabo de encontrarme con el mismo problema después de actualizar mi versión de php y olvidé que cambié el nombre de la carpeta. Así que asegúrese de que la ruta al ejecutable sea correcta en el módulo FastCGI en Asignaciones de manejadores – stibay

Cuestiones relacionadas