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 :)