PEAR no Windows: como mudar a localização pear.ini

Estou tentando instalar um pacote PEAR na minha recente instalação do PHP XAMPP (PHP 5.3.1) no Windows 7 de 64 bits.

A instalação de novos pacotes falha porque PEAR tenta acessar c:\windows\pear.ini vez do existente c:\path_to_xampp\php\pear.ini . Isso resulta (corretamente) em um erro de permission denied . Estou logado como administrador, mas o diretório do Windows possui alguma proteção adicional IIRC.

Em vez de violar os direitos de gravação no diretório do Windows, eu gostaria de usar o arquivo pear.ini existente.

Alguém sabe onde mudar o comportamento da PEAR de acordo?

Não totalmente seguro, mas PEAR registrou as seguintes chaves no registro da minha máquina

 REGEDIT4 [HKEY_CURRENT_USER\Environment] "PHP_PEAR_SYSCONF_DIR"="D:\\webserver\\xampp\\php" .... 

E PEAR / Config.php contém o seguinte trecho de código:

 if (getenv('PHP_PEAR_SYSCONF_DIR')) { define('PEAR_CONFIG_SYSCONFDIR', getenv('PHP_PEAR_SYSCONF_DIR')); 

e o construtor da class Config

 function PEAR_Config($user_file = '', $system_file = '', $ftp_file = false, $strict = true) { $this->PEAR(); PEAR_Installer_Role::initializeConfig($this); $sl = DIRECTORY_SEPARATOR; if (empty($user_file)) { if (OS_WINDOWS) { $user_file = PEAR_CONFIG_SYSCONFDIR . $sl . 'pear.ini'; } else { $user_file = getenv('HOME') . $sl . '.pearrc'; } } 

$user_file = PEAR_CONFIG_SYSCONFDIR . $sl . 'pear.ini'; parece ser a linha que faz a instalação “minha” PEAR usar o arquivo D: \ webserver \ xampp \ php \ pear.ini.
Se isso estiver correto, tudo o que você precisa fazer é definir de alguma forma a variável de ambiente PEAR_CONFIG_SYSCONFDIR

Outra maneira é editar seu ambiente de sistema do Windows e adicionar PHP_PEAR_SYSCONF_DIR variável apontando para o diretório do php.

Para alterar o caminho de c:\windows\pear.ini para c:\path_to_xampp\php\pear.ini você pode baixar este arquivo em http://pear.php.net/go-pear.phar e colocá-lo em seu c:\path_to_xampp\php pasta. Corre:

php go-pear.phar

Altere a localização do seu pear.ini (11) para c:\path_to_xampp\php ( $prefix\pear.ini ). Salve e execute o novo arquivo c:\path_to_xampp\php\PEAR_ENV.reg . Feche o Windows e execute (em c:\path_to_xampp\php )

pear config-show

Agora você pode ver que o caminho foi atualizado 🙂

No Windows 7 eu uso powershell.

você pode definir a variável PHP_PEAR_SYSCONF_DIR e, em seguida, executar um comando pera. Por exemplo:

 $env:PEAR_CONFIG_SYSCONFDIR = 'c:\path_to_xampp\php' pear install pear.phpunit.de/PHPUnit 

Obrigado user2204085! Para ser mais preciso, quando você corre

  php go-pear.phar 

digite 11 (não ‘all’ ou não digite) e digite $prefix\pear.ini . O arquivo PEAR_ENV.reg será criado no seu diretório php. Eu segui os passos acima, e isso funciona bem para mim. enter code here

Intereting Posts