PEAR on Windows: How to change pear.ini location

前端 未结 5 1489
闹比i
闹比i 2021-02-07 00:44

I am trying to install a PEAR package into my recent XAMPP PHP installation (PHP 5.3.1) on Windows 7 64-bit.

Installing new packages fails because PEAR tries to access <

相关标签:
5条回答
  • 2021-02-07 00:57

    Another way is edit your windows system environment and add PHP_PEAR_SYSCONF_DIR variable pointing to php's dir.

    0 讨论(0)
  • 2021-02-07 01:05

    In windows 7 i use powershell.

    you can set the PHP_PEAR_SYSCONF_DIR variable and then run a pear command. For Example:

    $env:PEAR_CONFIG_SYSCONFDIR = 'c:\path_to_xampp\php'
    pear install pear.phpunit.de/PHPUnit
    
    0 讨论(0)
  • 2021-02-07 01:08

    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)

    pear config-show

    Now you can see that the path has been updated :)

    0 讨论(0)
  • 2021-02-07 01:14

    Not entirely sure but PEAR registered the following keys in the registry of my machine

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

    And PEAR/Config.php contains the following code snippet:

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

    and the constructor for the Config class

    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

    0 讨论(0)
  • 2021-02-07 01:18

    Thanks user2204085 ! To be more accurate, when you run

     php go-pear.phar 
    

    type 11 (not 'all' or not enter) then type $prefix\pear.ini . The file PEAR_ENV.reg will be created in your php directory. I've followed the above steps, and it works fine for me.enter code here

    0 讨论(0)
提交回复
热议问题