PEAR で Unable to find the wrapper "channel" - did you forget to enable it when you configured PHP?
なんか出るよね最近。環境はDebian SqueezeのPHP 5.3.x。いや Lenny + dotdeb でも出る。(てか後述のとおり xdebug の設定だから環境依存じゃないかも。ちなみに PEAR は version 1.9.1)
検証してないけど channel:// を register してないのに使ってる気がする。
$ sudo pear upgrade-all PHP Warning: file_exists(): Unable to find the wrapper "channel" - did you forget to enable it when you configured PHP? in /usr/shar e/php/PEAR/Downloader/Package.php on line 1517 PHP Stack trace: PHP 1. {main}() /usr/share/php/pearcmd.php:0 PHP 2. PEAR_Command_Common->run($command = 'upgrade-all', $options = array (), $params = array ()) /usr/share/php/pearcmd.php:305 PHP 3. PEAR_Command_Install->doUpgradeAll($command = 'upgrade-all', $options = array (), $params = array ()) /usr/share/php/PEAR/Command/Common.php:271 PHP 4. PEAR_Command_Install->doInstall($command = 'upgrade-all', $options = array (), $params = array (0 => 'channel://components.ez.no/base', 1 => 'channel://components.ez.no/consoletools', 2 => 'channel://openpear.org/phpman', 3 => 'channel://pear.ethna.jp/smarty', 4 => 'channel://pear.ethna.jp/simpletest', 5 => 'channel://pear.ethna.jp/ethna', 6 => 'channel://pear.php.net/structures_graph', 7 => 'channel://pear.php.net/console_getopt', 8 => 'channel://pear.php.net/archive_tar', 9 => 'channel://pear.php.net/pear', 10 => 'channel://pear.php.net/xml_util', 11 => 'channel://pear.php.net/db', 12 => 'channel://pear.phpunit.de/dbunit', 13 => 'channel://pear.phpunit.de/file_iterator', 14 => 'channel://pear.phpunit.de/php_codecoverage', 15 => 'channel://pear.phpunit.de/phpunit', 16 => 'channel://pear.phpunit.de/phpunit_selenium', 17 => 'channel://pear.phpunit.de/php_timer', 18 => 'channel://pear.phpunit.de/text_template', 19 => 'channel://pear.phpunit.de/php_tokenstream', 20 => 'channel://pear.phpunit.de/phpunit_mockobject', 21 => 'channel://pear.symfony-project.com/yaml', 22 => 'channel://pear.twig-project.org/twig', 23 => 'channel://pecl.php.net/memcached', 24 => 'channel://pecl.php.net/xdebug')) /usr/share/php/PEAR/Command/Install.php:900 PHP 5. PEAR_Downloader->download($params = array (0 => 'channel://pear.php.net/structures_graph', 1 => 'channel://pear.php.net/cons ole_getopt', 2 => 'channel://pear.phpunit.de/php_codecoverage', 3 => 'channel://pear.phpunit.de/phpunit', 4 => 'channel://pear.phpunit.de/phpunit_selenium', 5 => 'channel://pear.phpunit.de/phpunit_mockobject', 6 => 'channel://pear.twig-project.org/twig')) /usr/share/php/PEAR/Command/Install.php:661 PHP 6. PEAR_Downloader_Package->initialize($param = 'channel://pear.twig-project.org/twig') /usr/share/php/PEAR/Downloader.php:278 PHP 7. PEAR_Downloader_Package->_fromFile($param = 'channel://pear.twig-project.org/twig') /usr/share/php/PEAR/Downloader/Package.php:160 PHP 8. file_exists('channel://pear.twig-project.org/twig') /usr/share/php/PEAR/Downloader/Package.php:1517 .. 延々と upgrade-all ok: channel://pear.php.net/Structures_Graph-1.0.4 upgrade-all ok: channel://pear.php.net/Console_Getopt-1.3.0 upgrade-all ok: channel://pear.phpunit.de/PHP_CodeCoverage-1.0.3 upgrade-all ok: channel://pear.phpunit.de/PHPUnit_Selenium-1.0.2 upgrade-all ok: channel://pear.phpunit.de/PHPUnit_MockObject-1.0.4 upgrade-all ok: channel://pear.twig-project.org/Twig-1.0.0RC1 upgrade-all ok: channel://pear.phpunit.de/PHPUnit-3.5.8 Warning: unlink(/tmp/glibctestQDzKXJ): No such file or directory in System.php on line 206 PHP Warning: unlink(/tmp/glibctestQDzKXJ): No such file or directory in /usr/share/php/System.php on line 206 PHP Stack trace: PHP 1. _PEAR_call_destructors() /usr/share/php/PEAR.php:0 PHP 2. call_user_func_array(array (0 => 'System', 1 => '_removeTmpFiles'), array ()) /usr/share/php/PEAR.php:774 PHP 3. System::_removeTmpFiles() /usr/share/php/PEAR.php:0 PHP 4. System::rm($args = array (0 => '-r', 1 => '/tmp/glibctestQDzKXJ')) /usr/share/php/System.php:440 PHP 5. unlink('/tmp/glibctestQDzKXJ') /usr/share/php/System.php:206
ああ、
1523 $this->_explicitGroup = true; 1524 } 1525 } 1526 1527 if (@is_file($param)) { 1528 $this->_type = 'local'; 1529 $options = $this->_downloader->getOptions(); 1530 if (isset($options['downloadonly'])) { 1531 $pkg = &$this->getPackagefileObject($this->_config, 1532 $this->_downloader->_debug);
@ 使ってるけど、僕の環境は xdebug.scream が On になってるから出るのね。PEARってほんとつくづく気持ち悪いよね。結構大きくなっててもう変えるのも直すのもだるいって話なんでしょうか(どこかで聞いたような話)。PEAR2に期待ってことですかね。。
エラーは出るけど @ つけて見えなくしてるから別にいいよねってかんじなんでしょうか。そんなやつは一度アレ *1を読みなおしてくると良いと思います。
追うの面倒だし、一応インストールはできてるから無視してる、が、気持ち悪い。
(とつぶやくだけのエントリーです。解決を期待した方すみません)
*1:え、この記事もう一昨年記事!?時間進みすぎじゃないすか?