Windows ARMUT: pear.ini yerini değiştirmek için nasıl

5 Cevap php

Ben Windows 7 64-bit benim son XAMPP PHP kurulumu (PHP 5.3.1) içine bir ARMUT paketini yüklemeye çalışıyorum.

ARMUT c:\windows\pear.ini yerine erişmeye çalışması nedeniyle yeni paketlerin yüklenmesi başarısız mevcut c:\path_to_xampp\php\pear.ini. Bir permission denied hata Bu sonuç (haklı olarak). Ben Yönetici olarak oturum, ancak Windows dizini bazı ek koruma IIRC sahiptir duyuyorum.

Windows dizinine yazma hakları ile keman yerine, ben mevcut pear.ini dosyasını kullanmak istiyorum.

Herkes nereye buna PEAR'ın davranışını değiştirmek için biliyor mu?

5 Cevap

Tamamen emin ama ARMUT benim makinenin kayıt defterinde aşağıdaki anahtarları kayıtlı değil

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

Ve PEAR / Config.php aşağıdaki kod parçası içerir:

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

ve Yapılandırma sınıfı için yapıcı

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'; seems to be the line that makes "my" PEAR installation use the file D:\webserver\xampp\php\pear.ini.
If that's correct all you have to do is to somehow set the environment variable PEAR_CONFIG_SYSCONFDIR

Başka bir yolu windows sistem ortamı düzenlemek ve php dir PHP_PEAR_SYSCONF_DIR değişken işaret ekleyin.

To change the path from c:\windows\pear.ini to c:\path_to_xampp\php\pear.ini you can download this file at http://pear.php.net/go-pear.phar and place it in your c:\path_to_xampp\php folder. Run:

php go-pear.phar

Change the location of your pear.ini (11) to c:\path_to_xampp\php ($prefix\pear.ini). Save and run the new file c:\path_to_xampp\php\PEAR_ENV.reg. Log out of Windows and run (in c:\path_to_xampp\php)

armut config-gösteri

Şimdi yolu güncelleştirilmiş olduğunu görebilirsiniz :)

Windows 7 i powershell kullanın.

Eğer PHP_PEAR_SYSCONF_DIR değişkeni ayarlayın ve sonra bir armut komutunu çalıştırabilirsiniz. Örneğin:

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

Alakalı olduğu gibi, burada çok benzer bir soruya cevabım Bağlama ve (VolkerK's answer aksine) çevre clobbering korkusu olmadan birden ARMUT kurulumları ile çalışır.

http://stackoverflow.com/a/10307450/629493