这在某种程度上与Problems installing PHP EzComponents using pyrus有关。
我正在尝试做一个干净的pyrus安装,不需要像pear那样安装任何包(这意味着没有pear安装程序等)。然而,我遇到了很多工具所依赖的ezComponents的问题。每当我运行sudo pyrus install ezc/ConsoleTools时,我都会得到:
Using PEAR installation found at /usr/lib/php
Downloading components.ez.no/ConsoleTools
PEAR2\Pyrus\Package\Exception: Invalid abstract package components.ez.no/ConsoleTools - releasing maintainer's certificate is not a certificate使用pear安装程序可以正常工作,但是当我尝试让pyrus接管sudo pyrus /usr/lib/php upgrade ezc/ConsoleTools的控制权时,我得到了完全相同的错误,因为它正在尝试再次下载包。
我最好的猜测是ezComponents正在使用某个自定义的pear频道服务器。我该如何解决这个问题?或者我必须等待单独的包维护者更新他们的依赖关系?
这是在OSX 10.6btw上。
发布于 2011-08-24 01:50:05
好了,我想通了。Pyrus尝试在Pyrus/Channel/RemotePackage.php的第356行获取.pem文件。它通过将.pem附加到包url来做到这一点。
这个文件不在ezComponents上,服务器响应302重定向,而不是404,我问题中提到的302重定向错误已经修复,所以现在pyrus遵循url,这导致frontpage响应200 OK。现在pyrus认为frontpage html就是证书,并尝试用它来验证包。
一种解决方法是简单地关闭openssl mod,然后跳过整个检查。这在OS X上说起来容易做起来难,因为这需要重新编译:-)我想剩下的工作就是编辑源代码了。
https://stackoverflow.com/questions/6089882
复制相似问题