У меня довольно свежая установка Debian Testing, и я пытаюсь установить PEAR / PECL, но когда я запускаю команду, ничего не происходит. Я не хочу устанавливать пакет PEAR в репозитории Debian, потому что, по моему опыту, он слишком старый. Я установил 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
Я установил PEAR из репозиториев Debian и запустил pear upgrade
. Все еще интересно разобраться, почему не работает установка go-pear.phar.
$ whereis php
php: /usr/bin/php /usr/share/php /usr/share/man/man1/php.1.gz
$ где груша
pear: /usr/bin/pear /etc/pear
это это то, что сработало для меня. Протестировано на установке Debian Squeeze amd64:
$ php -d suhosin.executor.include.whitelist="phar" go-pear.phar
Другая интересная ситуация - если вы прослушиваете удаленные соединения XDebug, а pecl управляется PHP, поэтому он может поймать и прервать процесс.
Попробуй это:
$ php -d phar.require_hash=0 go-pear.phar
pear: /usr/bin/pear /etc/pear
Это означает, что PEAR уже установлен. Тип pear -version
чтобы проверить его версию. Сначала удалите его и попробуйте снова.