php.ini não carrega no Windows7 x64

php.ini não carrega no Windows7 x64

Eu configurei manualmente o PHP no passado sem problemas. Agora estou tentando configurar um ambiente de desenvolvimento com PHP 5.3.1 no Windows 7 x64, e ele não carrega o arquivo php.ini!

Sou novo no Win7 e no sistema operacional de 64 bits, então pode haver algo que estou perdendo. Ah... e isso também está sendo executado em uma VM (VMWare Player), embora eu não tenha certeza de como isso pode fazer alguma diferença.

Eu configurei a variável de ambiente PHPRC para apontar para "c:\php\", configurei a chave de registro IniFilePath (em HKLM/Software/PHP e HKLM/Software/Wow6432Node/PHP) como "c:\php" e Até copiei o php.ini para c:\windows e "php -info" ainda mostra:

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

Cheguei ao ponto de definir o acesso de leitura para "Todos" para c:\Windows\php.ini sem sucesso.

Alguém pode ajudar-me a entender isto? Desde já, obrigado! Aqui está a primeira saída 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.*

Responder1

No Windows 7, é uma má ideia colocar os arquivos de configuração em c:\windows

Melhor colocar o PHP.INI no diretório de instalação do PHP e seguir as orientações (comohttp://www.iis-aid.com/articles/how_to_guides/where_php_ini_is_loaded_from) para informar ao PHP.EXE onde encontrar o PHP.INI

Responder2

Depois de muitas tentativas e erros, finalmente descobri algumas coisas:

  1. O principal motivo pelo qual ele não estava carregando foi que eu estraguei a restrição da solicitação de mapeamento do manipulador e, inadvertidamente, configurei o manipulador para invocar apenas se a solicitação fosse mapeada para uma pasta. Isso impedia a execução do PHP em resposta a uma solicitação HTTP. Agora que corrigi isso, phpinfo() retorna que está carregando php.ini da pasta c:\php.

  2. Ainda não sei por que executar "php.exe -info" na linha de comando mostra "Arquivo de configuração carregado => (nenhum)". Eu tentei de tudo para carregar o arquivo INI correto e nada funcionou.

Responder3

Descobri que o arquivo de configuração carregado é exibido (nenhum) porque suas permissões não permitem que os usuários o acessem ...

Tente alterar suas permissões ...

informação relacionada