PHP:PEAR在Windows上尝试打开c:\ windows \ pear.ini进行写入,即使configuration文件是c:\ pear \ pear.ini

在Windows上,当我运行

pear config-set auto_discover 1

我得到以下错误

PEAR_Config::writeConfigFile fopen('C:\Windows\pear.ini','w') failed (fopen(C:\Windows\pear.ini): failed to open stream: Permission denied)

即使我在PEAR安装期间提到我的configuration文件是c:\ pear \ pear.ini。

如何解决这个问题,请(无需在pipe理员模式下运行PEAR或更改c:\ windows \ pear.ini的权限)? 我想我的问题将得到解决,如果我能弄清楚PEAR是从哪里得到pear.ini的目录。

谢谢!

在PEAR安装中,当我到了修改路径的步骤时,我将pear.ini的路径从C:\Windows\pear.ini$prefix\pear.ini ,我仍然遇到了同样的错误。 显然安装脚本没有更新所需的一切。

根据对PEAR(http://pear.php.net/bugs/bug.php?id=16939)错误报告的评论,我添加了一个环境变量PHP_PEAR_SYSCONF_DIR指向我的PEAR安装文件夹( C:\php\PEAR )。

我现在能够成功运行你最初尝试运行的相同的config-set命令。

请注意后续对错误报告的评论。 我只需要在我的机器上安装一个PEAR,而您可能需要多个安装。

我可以通过以管理员身份打开命令提示符来解决这个问题。 这是通过右键单击命令提示符图标并选择“以管理员身份运行”来完成的。 一旦命令提示符打开,导航到您的php目录并再次运行:php go-pear.phar。 应该运行没有问题。

问题是,当您打开命令提示符时,您的当前帐户没有权限写入您的Windows目录。 以管理员身份运行命令提示符将允许写入c:\ windows

希望这可以帮助。