test php7 php windows-7 pear

php7 - PEAR en Windows: cómo cambiar la ubicación de pear.ini



php pear test (5)

En Windows 7 uso PowerShell.

puede establecer la variable PHP_PEAR_SYSCONF_DIR y luego ejecutar un comando pear. Por ejemplo:

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

Estoy tratando de instalar un paquete PEAR en mi instalación reciente de PHP XAMPP (PHP 5.3.1) en Windows 7 de 64 bits.

La instalación de nuevos paquetes falla porque PEAR intenta acceder a c:/windows/pear.ini lugar de c:/path_to_xampp/php/pear.ini . Esto resulta (con razón) en un error de permission denied . He iniciado sesión como administrador, pero el directorio de Windows goza de alguna protección adicional IIRC.

En lugar de jugar con los derechos de escritura en el directorio de Windows, me gustaría usar el archivo pear.ini existente.

¿Alguien sabe dónde cambiar el comportamiento de PEAR en consecuencia?


Gracias usuario2204085! Para ser más precisos, cuando corres.

php go-pear.phar

escriba 11 (no ''todos'' o no ingrese) luego escriba $prefix/pear.ini . El archivo PEAR_ENV.reg se creará en su directorio php. He seguido los pasos anteriores, y funciona bien para mí. enter code here


No estoy seguro, pero PEAR registró las siguientes claves en el registro de mi máquina

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

Y PEAR / Config.php contiene el siguiente fragmento de código:

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

y el constructor de la clase 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 la línea que hace que "mi" instalación de PEAR use el archivo D: / webserver / xampp / php / pear.ini.
Si eso es correcto, todo lo que tiene que hacer es establecer de alguna manera la variable de entorno PEAR_CONFIG_SYSCONFDIR


Otra forma es editar el entorno del sistema de Windows y agregar la variable PHP_PEAR_SYSCONF_DIR que apunta al directorio de php.


Para cambiar la ruta de c:/windows/pear.ini a c:/path_to_xampp/php/pear.ini puede descargar este archivo en http://pear.php.net/go-pear.phar y colocarlo en su c:/path_to_xampp/php folder. Correr:

php go-pear.phar

Cambie la ubicación de su pear.ini (11) a c:/path_to_xampp/php ( $prefix/pear.ini ). Guarde y ejecute el nuevo archivo c:/path_to_xampp/php/PEAR_ENV.reg . Cierre la sesión de Windows y ejecute (en c:/path_to_xampp/php )

pera config-show

Ahora puedes ver que la ruta ha sido actualizada :)