作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我正在尝试将 PEAR 包安装到我最近在 Windows 7 64 位上安装的 XAMPP PHP (PHP 5.3.1)。
安装新包失败,因为 PEAR 尝试访问 c:\windows\pear.ini
而不是现有的 c:\path_to_xampp\php\pear.ini
。这会(正确地)导致 permission denied
错误。我以管理员身份登录,但 Windows 目录享有 IIRC 的一些额外保护。
我不想摆弄 windows 目录中的写权限,而是想使用现有的 pear.ini 文件。
有人知道在哪里相应地改变 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_file = PEAR_CONFIG_SYSCONFDIR 。 $sl。 'pear.ini';
似乎是使“我的”PEAR 安装使用文件 D:\webserver\xampp\php\pear.ini 的行。
如果这是正确的,那么您所要做的就是以某种方式设置环境变量 PEAR_CONFIG_SYSCONFDIR
关于php - Windows 上的 PEAR : How to change pear. ini 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2180197/
我是一名优秀的程序员,十分优秀!