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

PEAR on Windows: How to change pear.ini location

提问人:Pekka 提问时间:2/2/2010 更新时间:8/2/2013 访问量:19084

问:

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

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

我不想摆弄 Windows 目录中的写入权限,而是想使用现有的 pear.ini 文件。

有谁知道在哪里相应地改变 PEAR 的行为?

PHP Windows-7

评论


答:

26赞 VolkerK 2/2/2010 #1

不完全确定,但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

评论

0赞 Pekka 2/2/2010
为沃尔克干杯! 是的。PHP_PEAR_SYSCONF_DIR
1赞 hashchange 4/20/2012
非常适合全局 PEAR 安装。但是,如果有多个本地 PEAR,则需要修补 pear.bat。详情请见此处:stackoverflow.com/a/10219809/508355
10赞 user421812 8/16/2010 #2

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

评论

1赞 jamesvl 5/11/2012
在Windows上,编辑你的pear.bat,使你的行(或指向你的PHP安装实际所在的位置)IF "%PHP_PEAR_SYSCONF_DIR%"=="" SET "PHP_PEAR_SYSCONF_DIR=c:\dev\php"
1赞 Tudisco 11/17/2011 #3

在 Windows 7 中,我使用 powershell。

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

$env:PEAR_CONFIG_SYSCONFDIR = 'c:\path_to_xampp\php'
pear install pear.phpunit.de/PHPUnit
3赞 user2204085 5/22/2013 #4

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

php go-pear.phar

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

梨配置显示

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

评论

0赞 VonC 12/12/2014
你的问题 stackoverflow.com/questions/27434425/......本来可以使其他人受益。无需删除它。
0赞 Gabriel 8/2/2013 #5

谢谢用户2204085! 更准确地说,当你运行

 php go-pear.phar 

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