我有一个相当新的 Debian Testing 安装,我正在尝试安装 PEAR / PECL,但当我运行命令时什么也没发生。我不想在 Debian 存储库中安装 PEAR 包,因为根据我的经验,它太旧了。我已经安装了 php5-dev。
以下是我尝试过的:
$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar
我也试过了sudo php go-pear.phar
。
$ php -version
PHP 5.3.6-13 with Suhosin-Patch (cli) (built: Jul 4 2011 12:42:46)
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with Suhosin v0.9.32.1, Copyright (c) 2007-2010, by SektionEins GmbH
有什么想法我可以知道这里出了什么问题吗?
- 编辑
如果我这样做:php -i | grep phar
我会得到:
Registered PHP Streams => https, ftps, compress.zlib, compress.bzip2, php, file, glob, data, http, ftp, phar, zip
Phar-based phar archives => enabled
Tar-based phar archives => enabled
ZIP-based phar archives => enabled
phar.cache_list => no value => no value
phar.readonly => On => On
phar.require_hash => On => On
中没有 phar.ini /etc/php5/conf.d/
。
-- 编辑2
我现在已经从 Debian 存储库安装了 PEAR 并运行pear upgrade
。仍然有兴趣弄清楚为什么 go-pear.phar 安装不起作用。
$ whereis php
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
$ whereis 梨
pear: /usr/bin/pear /etc/pear
答案1
这对我有用。在 Debian Squeeze amd64 安装上测试:
$ php -d suhosin.executor.include.whitelist="phar" go-pear.phar
答案2
尝试这个:
$ php -d phar.require_hash=0 go-pear.phar
pear: /usr/bin/pear /etc/pear
这意味着 PEAR 已安装。输入pear -version
以检查其版本。先将其卸载,然后重试。
答案3
另一个有趣的情况是,如果您正在监听远程 XDebug 连接,并且 pecl 由 PHP 驱动,那么它可能会捕获并中断该过程。