Php Windows上的PEAR:如何更改PEAR.ini位置
我正在尝试将PEAR包安装到最近在Windows7 64位上安装的XAMPP PHP(PHP5.3.1)中 安装新软件包失败,因为PEAR尝试访问Php Windows上的PEAR:如何更改PEAR.ini位置,php,windows-7,pear,Php,Windows 7,Pear,我正在尝试将PEAR包安装到最近在Windows7 64位上安装的XAMPP PHP(PHP5.3.1)中 安装新软件包失败,因为PEAR尝试访问c:\windows\PEAR.ini,而不是现有的c:\path\u to\u xampp\php\PEAR.ini。这会(正确地)导致权限被拒绝错误。我以管理员身份登录,但Windows目录享受一些额外的保护IIRC 我希望使用现有的pear.ini文件,而不是摆弄windows目录中的写权限 有人知道在哪里相应地改变PEAR的行为吗?不完全确定,
c:\windows\PEAR.ini
,而不是现有的c:\path\u to\u xampp\php\PEAR.ini
。这会(正确地)导致权限被拒绝错误。我以管理员身份登录,但Windows目录享受一些额外的保护IIRC
我希望使用现有的pear.ini文件,而不是摆弄windows目录中的写权限
有人知道在哪里相应地改变PEAR的行为吗?不完全确定,但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\u file=PEAR\u CONFIG\u SYSCONFDIR$sl梨代码>似乎是使“我的”PEAR安装使用文件D:\webserver\xampp\php\PEAR.ini的那一行。
如果这是正确的,您所要做的就是以某种方式设置环境变量PEAR\u CONFIG\u SYSCONFDIR
另一种方法是编辑windows系统环境并添加指向PHP目录的PHP\u PEAR\u SYSCONF\u DIR变量。在windows 7中,我使用powershell
您可以设置PHP\u PEAR\u SYSCONF\u DIR变量,然后运行PEAR命令。例如:
$env:PEAR_CONFIG_SYSCONFDIR = 'c:\path_to_xampp\php'
pear install pear.phpunit.de/PHPUnit
要将路径从c:\windows\pear.ini
更改为c:\path\u至\u xampp\php\pear.ini
,您可以从下载此文件,并将其放置在c:\path\u至\u xampp\php
文件夹中。
运行:
php go-pear.phar
将pear.ini(11)的位置更改为c:\path\u to_xampp\php
($prefix\pear.ini
)。
保存并运行新文件c:\path\u to\u xampp\php\PEAR\u ENV.reg
。
注销Windows并运行(在c:\path\u to\u xampp\php
中)
梨形图
现在您可以看到路径已经更新:)谢谢用户2204085!
更准确地说,当你跑步时
php go-pear.phar
键入11(不是“全部”或不输入),然后键入$prefix\pear.ini
。
将在php目录中创建文件PEAR_ENV.reg。
我已经按照上面的步骤操作了,对我来说效果很好。在这里输入code
干杯PHP\u PEAR\u SYSCONF\u DIR
就是这样。对于全局PEAR安装来说效果很好。但是如果有多个本地梨,你需要修补pear.bat。更多信息,请参见此处:在Windows上,编辑pear.bat,如果“%PHP\u pear\u SYSCONF\u DIR%”设置“PHP\u pear\u SYSCONF\u DIR=c:\dev\PHP”
(或指向PHP安装的实际位置),则行。您的问题可能会对其他人有所帮助。不需要删除它。