php-pear не работает после обновления до Ubuntu 14.04

8

После обновления до Ubuntu 14.04 php-pear не может установить какие-либо пакеты.

sudo pear install --alldeps --force pear.phpunit.de/PHPUnit
downloading PHPUnit-4.0.17.tgz ...
Starting to download PHPUnit-4.0.17.tgz (509,430 bytes)
......................................................................................................done: 509,430 bytes
could not extract the package.xml file from "/build/buildd/php5-5.5.9+dfsg/pear-build-download/PHPUnit-4.0.17.tgz"
Download of "phpunit/PHPUnit" succeeded, but it is not a valid package archive
Error: cannot download "phpunit/PHPUnit"
Download failed
install failed
The packages are being downloaded but can't extract.

Я попробовал это решение, http://cweiske.de/tagebuch/pear-php-5.5.htm Но все еще получаю ту же проблему.

кто-нибудь еще сталкивался с этим? Нужно ли переходить на php5.4? Если так, то как?

Обновление: спасибо за быстрые ответы. Карел ответ решил мою проблему. Просто для полноты правильности способа установки через грушу больше не работает. Шаги для установки из phar-файла описаны на: http://phpunit.de/getting-started.html

Также больше нет необходимости включать / требовать PHPunit / Runner.php, автозагрузку и т. Д.

Снова. Спасибо за помощь

amurray
источник
1
Это известная ошибка . Я боюсь, что проблемы, вызванные ошибками, здесь не по теме .
тердон
/usr/share/php/Archive/Tar.php не может открыть файлы tgz, потому что строка 734 возвращает «false» при проверке gzopen. У Google есть 5-летняя ошибка (все еще открытая), которая может быть связана с: bugs.launchpad.net/ubuntu/+source/php5/+bug/451405 Решение состоит в том, чтобы найти и заменить в Tar.php следующее: * Replace ' gzopen 'с' gzopen64 '* заменить' gzseek 'на' gzseek64 '* заменить' gztell 'на' gztell64 '
jarederaj

Ответы:

1

Самый простой способ получить PHPUnit - это загрузить архив PHP (PHAR), в котором есть все необходимые (а также некоторые необязательные) зависимости PHPUnit, объединенные в один файл.

Откройте терминал и введите:

wget https://phar.phpunit.de/phpunit.phar  # download the PHP Archive (PHAR) file  
chmod +x phpunit.phar  
sudo mv phpunit.phar /usr/local/bin/phpunit  

Существует много разных версий phpunit.phar на https://phar.phpunit.de/ . Если вы используете первую команду, она выберет и загрузит последнюю версию phpunit.phar.

Карел
источник
Спасибо, Карел. Я думаю, что последняя строка должна быть sudo mv phpunit.phar / usr / local / bin / phpunit. Но это решило мою проблему
amurray
+1 Сначала попробовал все ответы в stackoverflow.com/questions/12536668/… , но ваш ответ решил это для меня.
eddy147