Я использую Vagrant и Puppet для настройки виртуальной машины. У меня проблемы с установкой PHP CodeSniffer от Pear. Я вижу ошибку в следующем:
==> default: err: /Stage[main]//Package[pear.php.net/PHP_CodeSniffer]/ensure: change from absent to present failed: Execution of '/usr/bin/pear upgrade -a pear.php.net/PHP_CodeSniffer' returned 1: Failed loading /usr/lib/php5/20090626+lfs/xdebug.so: /usr/lib/php5/20090626+lfs/xdebug.so: cannot open shared object file: No such file or directory
==> default: downloading PHP_CodeSniffer-2.3.4.tgz ...
==> default: Starting to download PHP_CodeSniffer-2.3.4.tgz (473,411 bytes)
==> default: ................................................................................................done: 473,411 bytes
==> default: could not extract the package.xml file from "/build/php5-q1fasi/php5-5.3.10/pear-build-download/PHP_CodeSniffer-2.3.4.tgz"==> default: Download of "pear/PHP_CodeSniffer" succeeded, but it is not a valid package archive
==> default: Error: cannot download "pear/PHP_CodeSniffer"==> default: Download failed
==> default: upgrade failed
==> default:
==> default: notice: /Stage[main]//Vcsrepo[/usr/share/php/PHP/CodeSniffer/Standards/WordPress]: Dependency Package[pear.php.net/PHP_CodeSniffer] has failures: true
==> default: warning: /Stage[main]//Vcsrepo[/usr/share/php/PHP/CodeSniffer/Standards/WordPress]: Skipping because of failed dependencies
Я также не могу вручную установить пакет и вижу ту же ошибку. Похоже, это связано с уже сообщенной проблемой, согласно которой У Ubuntu могут быть проблемы с распаковкой tgz
файлы.
Соответствующая часть моего файла Puppet выглядит так:
# Install PHP_CodeSniffer and the WordPress coding standard
package { 'pear.php.net/PHP_CodeSniffer':
ensure => 'installed',
provider => 'pear',
}
У кого-нибудь есть идеи о том, как я могу запросить несжатую версию? Любые другие предложения по решению этой проблемы высоко ценится.
Я предполагаю, что ты пропал zip
или же zlib
расширения в PHP.
Других решений пока нет …