Windows上的PEAR:如何更改pear.ini位置

时间:2010-02-01 21:22:55

标签: php windows-7 pear

我正在尝试在Windows 7 64位上安装最近的XAMPP PHP安装(PHP 5.3.1)中的PEAR包。

安装新软件包失败,因为PEAR尝试访问c:\windows\pear.ini而不是现有的c:\path_to_xampp\php\pear.ini。这(正确地)导致permission denied错误。我以管理员身份登录,但Windows目录享有一些额外的保护IIRC。

我想使用现有的pear.ini文件,而不是在windows目录中使用写权限。

有人知道在哪里改变PEAR的行为吗?

5 个答案:

答案 0 :(得分:26)

不完全确定,但PEAR在我的机器的注册表中注册了以下键

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

PEAR / Config.php包含以下代码片段:

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

和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';似乎是使“我的”PEAR安装使用文件D:\ webserver \ xampp \ php \ pear.ini的行。
如果这是正确的,您所要做的就是以某种方式设置环境变量PEAR_CONFIG_SYSCONFDIR

答案 1 :(得分:10)

另一种方法是编辑你的windows系统环境并添加指向php的目录的PHP_PEAR_SYSCONF_DIR变量。

答案 2 :(得分:3)

要将路径从c:\windows\pear.ini更改为c:\path_to_xampp\php\pear.ini,您可以在http://pear.php.net/go-pear.phar下载此文件并将其放在c:\path_to_xampp\php文件夹中。 运行:

  

php go-pear.phar

将pear.ini(11)的位置更改为c:\path_to_xampp\php$prefix\pear.ini)。 保存并运行新文件c:\path_to_xampp\php\PEAR_ENV.reg。 退出Windows并运行(在c:\path_to_xampp\php

  

pear config-show

现在您可以看到路径已更新:)

答案 3 :(得分:0)

在Windows 7中,我使用powershell。

您可以设置PHP_PEAR_SYSCONF_DIR变量,然后运行pear命令。例如:

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

答案 4 :(得分:0)

感谢user2204085! 为了更准确,当你运行

 php go-pear.phar 

键入11(不是'全部'或不输入),然后键入$prefix\pear.ini。 文件PEAR_ENV.reg将在您的php目录中创建。 我已按照上述步骤操作,它对我来说很好。enter code here