【发布时间】:2022-01-06 19:40:03
【问题描述】:
我正在尝试在 virtualbox 的 Ubuntu 操作系统中安装一些 pear 包,例如 gnupg,但如果我使用 sudo pecl install gnupg,它会抛出
No releases available for package "pecl.php.net/gnupg"
install failed
这不仅适用于 gnupg,而且适用于所有 pear 包。但我无法确定究竟是什么问题。相同的命令正在我的另一台虚拟机中运行。所以我真的很困惑。请帮忙。
注意:
PEAR Version: 1.9.4
PHP Version: 5.5.9-1ubuntu4
Zend Engine Version: 2.5.0
Running on: Linux udhay-dev 3.13.0-24-generic #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014 x86_64
这是 pear 配置(使用pear config-show)显示的内容,
Configuration (channel pear.php.net):
=====================================
Auto-discover new Channels auto_discover 1
Default Channel default_channel pear.php.net
HTTP Proxy Server Address http_proxy http://foo.bar/
PEAR server [DEPRECATED] master_server pear.php.net
Default Channel Mirror preferred_mirror pear.php.net
Remote Configuration File remote_config <not set>
PEAR executables directory bin_dir /home/udhay-dev/pear/bin
PEAR documentation directory doc_dir /home/udhay-dev/pear/docs
PHP extension directory ext_dir /usr/lib/php5/20121212+lfs
PEAR directory php_dir /home/udhay-dev/pear/share/pear
PEAR Installer cache directory cache_dir /tmp/pear/cache
PEAR configuration file cfg_dir /home/udhay-dev/pear/cfg
directory
PEAR data directory data_dir /home/udhay-dev/pear/data
PEAR Installer download download_dir /tmp/pear/install
directory
PHP CLI/CGI binary php_bin /usr/bin/php
php.ini location php_ini <not set>
--program-prefix passed to php_prefix <not set>
PHP's ./configure
--program-suffix passed to php_suffix <not set>
PHP's ./configure
PEAR Installer temp directory temp_dir /tmp/pear/install
PEAR test directory test_dir /home/udhay-dev/pear/tests
PEAR www files directory www_dir /home/udhay-dev/pear/www
Cache TimeToLive cache_ttl 3600
Preferred Package State preferred_state stable
Unix file mask umask 2
Debug Log Level verbose 1
PEAR password (for password <not set>
maintainers)
Signature Handling Program sig_bin /usr/bin/gpg
Signature Key Directory sig_keydir /etc/pear/pearkeys
Signature Key Id sig_keyid <not set>
Package Signature Type sig_type gpg
PEAR username (for username <not set>
maintainers)
User Configuration File Filename /home/udhay-dev/.pearrc
System Configuration File Filename /etc/pear/pear.conf
当我使用pear clear-cache 时,它会显示,
找不到目录/tmp/pear/cache。
对于命令pear update-channels 和pear upgrade,我得到了,
PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php5/20121212/http.so' - /usr/lib/php5/20121212/http.so: undefined symbol: php_persistent_handle_abandon in Unknown on line 0
Updating channel "doc.php.net"
Channel "doc.php.net" is not responding over http://, failed with message: Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known
Trying channel "doc.php.net" over https:// instead
Cannot retrieve channel.xml for channel "doc.php.net" (Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)
Updating channel "pear.php.net"
Channel "pear.php.net" is not responding over http://, failed with message: Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known
Trying channel "pear.php.net" over https:// instead
Cannot retrieve channel.xml for channel "pear.php.net" (Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)
Updating channel "pecl.php.net"
Channel "pecl.php.net" is not responding over http://, failed with message: Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known
Trying channel "pecl.php.net" over https:// instead
Cannot retrieve channel.xml for channel "pecl.php.net" (Connection to `foo.bar:8080' failed: php_network_getaddresses: getaddrinfo failed: Name or service not known)
【问题讨论】:
-
用于清除缓存。尝试创建目录然后看看会发生什么。对于 http.so 尝试
grep -Hrv ";" /etc/php5 | grep -i "extension="并查找任何杂散的 php.ini 文件。然后sudo aptitude purge http和sudo aptitude install http如果这不起作用。
标签: php pear ubuntu-14.04