PHP 5.2.10 und PEAR

Da hab ich mir heute mal den Zend Server CE(1) angetan und installiert. Das ging auch recht flott von der Hand (da es nen kleinen feinen Installer gibt). Nur PEAR wollte nicht so, wie ich das wollte und spuckte bei einem “upgrade-all” folgendes aus:

pear upgrade pear Notice: Undefined variable: dorest in PEAR/Command/Install.php on line 1220 Notice: Undefined variable: latest in PEAR/Command/Install.php on line 1228 Notice: Undefined variable: latest in PEAR/Command/Install.php on line 1234 Warning: array_change_key_case(): The argument should be an array in PEAR/Command/Install.php on line 1234 Nothing to upgrade

Im (inoffiziellem) deutschen Zend Framework Forum(2) wurde ich denn auf den Kollegen hier(3) hingewiesen. Leider lag der “Fehler” nicht am falschen Binary, sondern viel mehr an der neuen PHP Version (5.9.10)(4). Darauf wurde ich über den Kollegen hier(5)(nein ich kann kein Japanisch, Google aber schon. :P ) aufmerksam. Dort wird auf die “pear.php.net.reg” sowie “pecl.php.net.reg” aufmerksam gemacht, dass die wohl nach einem “update-channel” mit falschem Inhalt(?) belegt werden. Schnell die “pear.php.net.reg” folgend belegt:

 a:6:{s:7:"attribs";a:4:{s:7:"version";s:3:"1.0";s:5:"xmlns";s:31:"http://pear.php.net/channel-1.0";s:9:"xmlns:xsi";s:41:"http://www.w3.org/2001/XMLSchema-instance";s:18:"xsi:schemaLocation";s:71:"http://pear.php.net/channel-1.0 http://pear.php.net/dtd/channel-1.0.xsd";}s:4:"name";s:12:"pear.php.net";s:14:"suggestedalias";s:4:"pear";s:7:"summary";s:40:"PHP Extension and Application Repository";s:7:"servers";a:2:{s:7:"primary";a:1:{s:4:"rest";a:1:{s:7:"baseurl";a:4:{i:0;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.0";}s:8:"_content";s:25:"http://pear.php.net/rest/";}i:1;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.1";}s:8:"_content";s:25:"http://pear.php.net/rest/";}i:2;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.2";}s:8:"_content";s:25:"http://pear.php.net/rest/";}i:3;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.3";}s:8:"_content";s:25:"http://pear.php.net/rest/";}}}}s:6:"mirror";a:2:{i:0;a:2:{s:7:"attribs";a:1:{s:4:"host";s:15:"us.pear.php.net";}s:4:"rest";a:1:{s:7:"baseurl";a:4:{i:0;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.0";}s:8:"_content";s:28:"http://us.pear.php.net/rest/";}i:1;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.1";}s:8:"_content";s:28:"http://us.pear.php.net/rest/";}i:2;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.2";}s:8:"_content";s:28:"http://us.pear.php.net/rest/";}i:3;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.3";}s:8:"_content";s:28:"http://us.pear.php.net/rest/";}}}}i:1;a:2:{s:7:"attribs";a:3:{s:4:"host";s:15:"de.pear.php.net";s:3:"ssl";s:3:"yes";s:4:"port";s:4:"3452";}s:4:"rest";a:1:{s:7:"baseurl";a:4:{i:0;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.0";}s:8:"_content";s:34:"https://de.pear.php.net:3452/rest/";}i:1;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.1";}s:8:"_content";s:34:"https://de.pear.php.net:3452/rest/";}i:2;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.2";}s:8:"_content";s:34:"https://de.pear.php.net:3452/rest/";}i:3;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.3";}s:8:"_content";s:34:"https://de.pear.php.net:3452/rest/";}}}}}}s:13:"_lastmodified";a:2:{s:4:"ETag";s:20:""2fe96-59a-31a3fc80"";s:13:"Last-Modified";s:29:"Tue, 02 Jun 2009 05:55:46 GMT";}}

und die “pecl.php.net.reg” mit dem hier:

 a:6:{s:4:"name";s:12:"pecl.php.net";s:14:"suggestedalias";s:4:"pecl";s:7:"summary";s:31:"PHP Extension Community Library";s:7:"servers";a:1:{s:7:"primary";a:2:{s:6:"xmlrpc";a:1:{s:8:"function";a:10:{i:0;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:9:"logintest";}i:1;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:26:"package.listLatestReleases";}i:2;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:15:"package.listAll";}i:3;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:12:"package.info";}i:4;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:22:"package.getDownloadURL";}i:5;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.1";}s:8:"_content";s:22:"package.getDownloadURL";}i:6;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:25:"package.getDepDownloadURL";}i:7;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.1";}s:8:"_content";s:25:"package.getDepDownloadURL";}i:8;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:14:"package.search";}i:9;a:2:{s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}s:8:"_content";s:15:"channel.listAll";}}}s:4:"rest";a:1:{s:7:"baseurl";a:2:{i:0;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.0";}s:8:"_content";s:25:"http://pecl.php.net/rest/";}i:1;a:2:{s:7:"attribs";a:1:{s:4:"type";s:7:"REST1.1";}s:8:"_content";s:25:"http://pecl.php.net/rest/";}}}}}s:15:"validatepackage";a:2:{s:8:"_content";s:19:"PEAR_Validator_PECL";s:7:"attribs";a:1:{s:7:"version";s:3:"1.0";}}s:13:"_lastmodified";s:31:"Thu, 03 Jan 2008 11:48:06 -0700";}

Und schon läuft auch mein “pear upgrade-all” so wie es soll:

 root@entwicklung:/xxx/.channels# pear upgrade-all Will upgrade channel://pear.php.net/pear downloading PEAR-1.8.1.tgz ... Starting to download PEAR-1.8.1.tgz (290,382 bytes) ............................................................done: 290,382 bytes upgrade-all ok: channel://pear.php.net/PEAR-1.8.1 PEAR: Optional feature webinstaller available (PEAR's web-based installer) PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer) PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer) PEAR: To install optional features use "pear install pear/PEAR#featurename"

Im PEAR Forum(4) wird auch auf ein downgrade nach PHP 5.2.9, dann “pear update-channells” und dann wieder ein Upgrade auf PHP 5.2.10 hingewiesen, aber das macht auch nix anderes, als das was ich jetzt hier beschrieben habe. Ein Wehrmutstropfen hat das Ganze ich kann die Channels erst mal nicht mehr ohne weiteres updaten, bis nen Patch oder neuer Release (außer PHP 5.3) von PHP erscheint.

(1) Zend Server CE
(2) deutsches Zend Framework Forum
(3) Dennis Becker
(4) PEAR Forum[pear.php.net is using a unsupported protocal]
(5) Uzullas Blog, Uzulla bei Twitter

Tags: , , ,

4 Responses to “PHP 5.2.10 und PEAR on “PHP 5.2.10 und PEAR”

  • Hehe, da googelt man und landet auf ner Seite die man kennt.

    Super, hatte das ja irgendwo schon mitbekommen dass es mit einem neu aufgesetzten php 5.2.10 probleme mit PEAR gibt, jetzt kenn ich immerhin die lösung :)

  • Freut mich, dass ich helfen konnte. :)

  • Schön dass man per Google darauf stößt :) Das hilft ja super weiter!

    Immerhin weiß ich jetzt, dass es nur an PHP5.2.10 liegt ;) Danke für den Tipp, auch wenn damals meiner nichts (oder nicht viel) gebracht hatte, da es noch zu PHP 5.2.9 war.

  • Vielen Dank für diesen Artikel!!!
    Hier habe ich noch eine einfache Lösung:
    einfach das Verzeichnis .channels entfernen (bei SUSE unter /usr/share/php5/PEAR) und dann ein pear update-channels.
    Das war’s schon!

Hi, Stranger! Leave Your Comment...

Name (required)
Email (required)
Website
Message
 
You are realy a human?