php.ini no se carga en Windows 7 x64

php.ini no se carga en Windows 7 x64

He configurado PHP manualmente en el pasado sin ningún problema. Ahora estoy intentando configurar un entorno de desarrollo con PHP 5.3.1 en Windows 7 x64 y no carga el archivo php.ini.

Soy nuevo tanto en Win7 como en el sistema operativo de 64 bits, por lo que podría haber algo que me falta. Ah... y esto también se ejecuta en una VM (VMWare Player), aunque no estoy seguro de cómo eso podría marcar la diferencia.

Configuré la variable de entorno PHPRC para que apunte a "c:\php\", configuré la clave de registro IniFilePath (tanto en HKLM/Software/PHP como en HKLM/Software/Wow6432Node/PHP) en "c:\php", y Incluso copié php.ini a c:\windows, y "php -info" todavía muestra:

Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => (none)

Incluso llegué a configurar el acceso de lectura para "Todos" para c:\Windows\php.ini sin éxito.

¿Alguien puede ayudarme a resolver esto? ¡Gracias de antemano! Aquí está el primer fragmento de salida de "php -info"...

phpinfo()
PHP Version => 5.3.1

System => Windows NT DEV 6.1 build 7600 ((null)) i586
Build Date => Nov 19 2009 09:48:59
Compiler => MSVC9 (Visual C++ 2008)
Architecture => x86
Configure Command => cscript /nologo configure.js  "--enable-snapshot-build" "--
enable-debug-pack" "--disable-zts" "--disable-isapi" "--disable-nsapi" "--with-p
do-oci=D:\php-sdk\oracle\instantclient10\sdk,shared" "--with-oci8=D:\php-sdk\ora
cle\instantclient10\sdk,shared" "--with-oci8-11g=D:\php-sdk\oracle\instantclient
11\sdk,shared" "--with-enchant=shared" "--enable-object-out-dir=../obj/"
Server API => Command Line Interface
Virtual Directory Support => disabled
Configuration File (php.ini) Path => C:\Windows
Loaded Configuration File => (none)
Scan this dir for additional .ini files => (none)
Additional .ini files parsed => (none)
PHP API => 20090626
PHP Extension => 20090626
Zend Extension => 220090626
Zend Extension Build => API220090626,NTS,VC9
PHP Extension Build => API20090626,NTS,VC9
Debug Build => no
Thread Safety => disabled
Zend Memory Manager => enabled
Zend Multibyte Support => disabled
IPv6 Support => enabled
Registered PHP Streams => php, file, glob, data, http, ftp, zip, compress.zlib,
phar
Registered Stream Socket Transports => tcp, udp
Registered Stream Filters => convert.iconv.*, string.rot13, string.toupper, stri
ng.tolower, string.strip_tags, convert.*, consumed, dechunk, zlib.*

Respuesta1

En Windows 7 es una mala idea colocar los archivos de configuración en c:\windows

Mejor coloque PHP.INI en el directorio de instalación de PHP y siga las pautas (comohttp://www.iis-aid.com/articles/how_to_guides/where_php_ini_is_loaded_from) para decirle a PHP.EXE dónde encontrar PHP.INI

Respuesta2

Después de muchas pruebas y errores finalmente descubrí un par de cosas:

  1. La razón principal por la que no se estaba cargando fue que había arruinado la restricción de la solicitud de asignación del controlador y, sin darme cuenta, configuré el controlador para que se invocara solo si la solicitud estaba asignada a una carpeta. Esto impedía que PHP se ejecutara en respuesta a una solicitud HTTP. Ahora que he solucionado eso, phpinfo() indica que está cargando php.ini desde la carpeta c:\php.

  2. Todavía no sé por qué al ejecutar "php.exe -info" desde la línea de comando se muestra "Archivo de configuración cargado => (ninguno)". Intenté todo lo que se me ocurrió para cargar el archivo INI correcto y nada funcionó.

Respuesta3

Descubrí que el archivo de configuración cargado se muestra (ninguno) porque sus permisos no permiten a los usuarios acceder a él...

Intenta cambiar sus permisos...

información relacionada