Для этого вам нужно использовать класс PEAR_Registry (именно это использует сам скрипт PEAR).Прочитайте блог Адама Харви " pear -> list " от 3 лет назад - все необходимые вам подробности / примеры есть.
include 'PEAR/Registry.php';
$reg = new PEAR_Registry;
foreach ($reg->listPackages() as $package) {
print "$package\n";
}
Если вам нужно проверить определенные версиидля каждого пакета, вы можете основать что-то на следующем примере, который я предоставил в комментарии к этой записи блога:
<?php
require 'PEAR/Registry.php';
$reg = new PEAR_Registry;
define("NAME", 0);
define("VERSION", 1);
$packages = array(
array("PEAR", "1.6.2"),
array("Date", "1.4.7"),
array("Date_Holidays", "0.17.1"),
array("Validate_IE", "0.3.1")
);
foreach ($packages as $package) {
$pkg = $reg->getPackage($package[NAME]);
$version = $pkg->getVersion();
echo "{$package[NAME]} – {$package[VERSION]} – ";
echo version_compare($version, $package[VERSION], '>=') ? 'OK': 'BAD', "\n";
}
?>
Если вам нужно скопировать и вставить это, то это может быть лучше для васиспользовать версию на https://gist.github.com/kenguest/1671361.