How to get phpinfo() variables from php programmatically?
I am attempting to get a list of dependable(consistent across requests) list of "hidden" constants in PHP(as in, the client-side won't know about it in most cases without hacking).
Some of the things I am interested in is the following:
./configure
options.- I would also like the very first
System
value in phpinfo. - The loaded PHP modules(as shown in the Apache section)
- The build date of PHP.
- Registered PHP streams
- Registered stream socket transports
- Registered stream filters
How can I get either just a portion of the phpinfo or get these values as a regular string? Note that it doesn't matter if there if markup included, but I don't want to parse 开发者_开发技巧the phpinfo as that just seems really slow and surely there is a better way..
Here you go:
ini_get_all()
orget_loaded_extensions()
were the closest I could findphp_uname()
apache_get_modules()
phpversion()
was the closest I could findstream_get_wrappers()
stream_get_transports()
stream_get_filters()
See also get_defined_constants()
and some more.
As Chacha102 mentioned you can also use output control functions and parse the phpinfo()
:
ob_start();
phpinfo();
$variable = ob_get_contents();
ob_get_clean();
Due to the use of ob_get_clean()
it won't mess up other output buffering levels you may be using.
Most of the stuff available from phpinfo() can be found in constants. Try looking through:
print_r(get_defined_constants());
Or the functions on this page: http://us.php.net/manual/en/ref.info.php. There are tons of functions to get information about specific extensions.
The following functions might be worth looking at:
ini_get()
http://us.php.net/manual/en/function.ini-get.php
getenv()
http://us.php.net/manual/en/function.getenv.php
get_cfg_var()
http://us.php.net/manual/en/function.get-cfg-var.php
Maybe I am late a bit, but basically if you call a shell script problematically to the php.exe
php -i
then you can parse all the information required
精彩评论