我正在 VPS 上运行 CENTOS 6.6 并尝试安装ZMQ PHP 扩展并尝试使用说明中显示的命令进行安装:
sudo pecl install zmq-beta
但是,它失败了,显示如下输出:
root@host [/zmq]# sudo pecl install zmq-beta
downloading zmq-1.1.2.tgz ...
Starting to download zmq-1.1.2.tgz (39,573 bytes)
..........done: 39,573 bytes
could not extract the package.xml file from "/root/tmp/pear/cache/zmq-1.1.2.tgz"
Download of "pecl/zmq" succeeded, but it is not a valid package archive
Error: cannot download "pecl/zmq"
Download failed
install failed
我也尝试过:
sudo pecl install -Z zmq-beta
和:
sudo pecl install --nocompress zmq-beta
但我得到了同样的错误。
为什么会出现这个错误?
答案1
SOA#1。它认为问题出在下载的存档中。检查存档的 md5sum:
[root@centos6 ~]# md5sum /root/tmp/pear/cache/zmq-1.1.2.tgz
74da2fc1aa83e6fa27acffb9a37596b9 /root/tmp/pear/cache/zmq-1.1.2.tgz
如果不一样 - 将其删除并尝试再次下载。
或者 - 您可以使用 -vv 参数调用 pecl - 然后您应该看到有关错误的更多信息以及下载文件的路径。默米来自http://pecl.php.net/get/zmq-1.1.2.tgz
答案2
遇到同样的问题,解决方法:
- 首先下载zmq-1.1.2.tgz(https://pecl.php.net/get/zmq-1.1.2.tgz)
- 提炼tgz得到柏油档案
cd
到 tar 文件目录,并安装此 pecl 软件包sudo pear install -O zmq-1.1.2.tar
这对我有用。
为什么?我认为这是因为 pecl 命令尝试查找包.xml文件在tgz,但该文件仍然存档在该 tgz 文件内的 tar 存档中。
因此,手动下载并解压即可完成这项工作。