Respostas:
Você não precisa colocar nada a ver com o PHP em qualquer lugar perto da c:\windows
pasta.
Se você fizer isso, isso servirá apenas para atrapalhar você quando você atualizar o PHP para uma nova versão.
Se você colocar o CD na pasta em que o PHP está instalado e fizer php --ini
isso, ele lerá o arquivo php.ini na pasta em que você está.
D:\wamp\bin\php\php5.5.12>php --ini
Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File: D:\wamp\bin\php\php5.5.12\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)
Eu acho que também é uma má idéia colocar a pasta de instalação do PHP no PATH do Windows também.
Tudo o que você precisa é de um pequeno arquivo em lotes que configurará seu PATH durante a janela de comando que você está usando e coloque-o em uma das pastas que já estão no Windows PATH.
Então, assumindo que você instalou o PHP C:\php
nesse é o arquivo em lotes
phppath.cmd
PATH=%PATH%;C:\php
php --ini
php -v
E você simplesmente executa esse arquivo em lote sempre que abrir uma janela de comando e desejar executar algum código PHP e seu ambiente for configurado. Você também pode adicionar outras coisas a esse arquivo em lotes quando precisar adicionar outras coisas ao seu ambiente, como o Composer etc.
De acordo com a documentação:
O arquivo de configuração (php.ini) é lido quando o PHP é iniciado. Para as versões do módulo do servidor do PHP, isso acontece apenas uma vez quando o servidor da web é iniciado. Para as versões CGI e CLI, isso acontece em todas as chamadas.
O php.ini é pesquisado nesses locais (em ordem):
- Local específico do módulo SAPI (diretiva PHPIniDir no Apache 2, opção de linha de comando -c em CGI e CLI, parâmetro php_ini na variável de ambiente NSAPI, PHP_INI_PATH em THTTPD)
- A variável de ambiente PHPRC. Antes do PHP 5.2.0, isso era verificado após a chave do registro mencionada abaixo.
- A partir do PHP 5.2.0, a localização do arquivo php.ini pode ser definida para diferentes versões do PHP. As seguintes chaves do Registro são examinadas em ordem: [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xyz], [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ xy] e [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP \ x]], em que x, ye z significam o PHP maior, versões secundárias e de lançamento. Se houver um valor para o IniFilePath em qualquer uma dessas chaves, a primeira encontrada será usada como o local do php.ini (somente Windows).
- [HKEY_LOCAL_MACHINE \ SOFTWARE \ PHP], valor do IniFilePath (somente Windows).
- Diretório de trabalho atual (exceto CLI).
- O diretório do servidor da web (para módulos SAPI) ou o diretório do PHP (caso contrário, no Windows).
- Diretório do Windows (C: \ windows ou C: \ winnt) (para Windows) ou a opção de tempo de compilação --with-config-file-path.
Você deve tentar a PHPRC
variável de ambiente ou a chave do registro [HKEY_LOCAL_MACHINE\SOFTWARE\PHP]
.
Eu tentei de tudo sem sucesso. alterou o apache httpd.conf, php.ini e várias outras tentativas, sempre resultou em Loaded Configuration File - (nenhum). Por fim, copiei todos os arquivos do diretório php para o diretório C: \ Arquivos de Programas (x86) \ Apache Software Foundation \ Apache2.2 \ bin e tudo começou a funcionar. Perfeitamente. Infelizmente, não é a solução perfeita, mas funcionou.