como mudar o caminho de janelas de ini de php

10

Eu fiz o download do php, adicionei no meu caminho e estou tentando habilitado o openssl

php --ini me diz que o arquivo de configuração é c: \ windows que não tem nada lá, eu não quero copiar o php para o c / windows.

Como faço para mudar isso para apontar para a minha pasta php?

    
por Guest 25.06.2014 / 10:28

3 respostas

9

Você não precisa colocar nada a ver com o PHP em qualquer lugar perto da pasta c:\windows .

Se você fizer isso, só servirá para bagunçar você quando você atualizar o PHP para uma nova versão.

Se você tiver um CD na pasta em que o PHP está instalado e fizer um php --ini , ele lerá o arquivo php.ini da 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)

Acho também uma má idéia colocar a pasta de instalação do PHP no Windows PATH também.

Tudo que você precisa é de um pequeno arquivo de lote que irá configurar o seu PATH pela duração da janela de comando que você está usando, e colocar isso em uma das pastas que já estão no PATH do Windows.

Então, supondo que você tenha instalado o PHP em C:\php , este é o arquivo em lote

phppath.cmd

PATH=%PATH%;C:\php
php --ini
php -v

E você apenas executa esse arquivo em lote sempre que abre uma janela de comando e deseja executar algum código PHP e seu ambiente é configurado. Você também pode adicionar outras coisas a esse arquivo de lote quando precisar de outras coisas adicionadas ao seu ambiente, como o Composer, etc.

    
por 27.06.2014 / 20:26
2

De acordo com a documentação:

The configuration file (php.ini) is read when PHP starts up. For the server module versions of PHP, this happens only once when the web server is started. For the CGI and CLI versions, it happens on every invocation.

php.ini is searched for in these locations (in order):

  • SAPI module specific location (PHPIniDir directive in Apache 2, -c command line option in CGI and CLI, php_ini parameter in NSAPI, PHP_INI_PATH environment variable in THTTPD)
  • The PHPRC environment variable. Before PHP 5.2.0, this was checked after the registry key mentioned below.
  • As of PHP 5.2.0, the location of the php.ini file can be set for different versions of PHP. The following registry keys are examined in order: [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y.z], [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x.y] and [HKEY_LOCAL_MACHINE\SOFTWARE\PHP\x], where x, y and z mean the PHP major, minor and release versions. If there is a value for IniFilePath in any of these keys, the first one found will be used as the location of the php.ini (Windows only).
  • [HKEY_LOCAL_MACHINE\SOFTWARE\PHP], value of IniFilePath (Windows only).
  • Current working directory (except CLI).
  • The web server's directory (for SAPI modules), or directory of PHP (otherwise in Windows).
  • Windows directory (C:\windows or C:\winnt) (for Windows), or --with-config-file-path compile time option.

Você deve tentar a variável de ambiente PHPRC ou a chave de registro [HKEY_LOCAL_MACHINE\SOFTWARE\PHP] .

    
por 25.06.2014 / 11:40
0

Eu tentei tudo sem sucesso. alterei o apache httpd.conf, php.ini e várias outras tentativas, sempre resultou em Loaded Configuration File - (none). 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.

    
por 22.07.2014 / 21:19

Tags