Как прочитать версию установленных расширений PHP или другие значения, предоставляемые phpinfo()

Моя проблема относительно проста, но мне не очень везет с ее поиском, широким или узким. На phpinfo я могу найти следующий текст для расширения posix:

posix

Revision    $Revision: 300764 $

Часть "$Revision: 300764 $" - это то, что мне нужно. Аналогично для таких расширений, как SimpleXML, sysvmsg и других расширений, где я хотел бы прочитать более подробную информацию. Например, в разделе openssl мне нужно значение «Версия библиотеки OpenSSL».

Есть ли способ получить такие значения внутри PHP, не выполняя танго с выходным буфером, а затем анализируя вывод phpinfo?


person Christian Riesen    schedule 22.06.2012    source источник


Ответы (1)


Попробуйте phpversion с предоставленным именем расширения:

<?php
$e=get_loaded_extensions();

foreach ($e as $ext)
{
        echo $ext.' : '.phpversion($ext)."\n";
}

$> php -f t.php
Core : 5.3.14
date : 5.3.14
ereg : 
libxml : 
openssl : 
pcre : 
sqlite3 : 0.7-dev
ctype : 
curl : 
dom : 20031129
fileinfo : 1.0.5-dev
filter : 0.11.0
ftp : 
gd : 
gettext : 
hash : 1.0
iconv : 
json : 1.2.1
ldap : 
mbstring : 
mcrypt : 
SPL : 0.2
session : 
standard : 5.3.14
mysqlnd : mysqlnd 5.0.8-dev - 20102224 - $Id: 65fe78e70ce53d27a6cd578597722950e490b0d0 $
PDO : 1.0.4dev
pdo_mysql : 1.0.2
pdo_sqlite : 1.0.1
Phar : 2.0.1
posix : 
Reflection : $Id: 522fef1e5100f848a5e2059d98b3a880a3143e9a $
mysqli : 0.1
SimpleXML : 0.1
SQLite : 2.0-dev
mysql : 1.0
tidy : 2.0
tokenizer : 0.1
xml : 
xmlreader : 0.1
xmlwriter : 0.1
xdebug : 2.2.0
person DaveyBoy    schedule 22.06.2012
comment
Спасибо за ваш пример, но он ясно демонстрирует, чего мне не хватает. Информация от posix и openssl, которую вы получаете вместе с этим, пуста. Я пытаюсь получить эту расширенную информацию согласованным образом и не могу найти ничего, кроме синтаксического анализа вывода из phpinfo() или использования класса отражения, чтобы получить этот бит html с этой информацией и проанализировать его оттуда. Ни один не удовлетворяет. - person Christian Riesen; 04.07.2012