How to get phpinfo() variables from php programmat

2020-06-01 05:30发布

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:

  1. ./configure options.
  2. I would also like the very first System value in phpinfo.
  3. The loaded PHP modules(as shown in the Apache section)
  4. The build date of PHP.
  5. Registered PHP streams
  6. Registered stream socket transports
  7. 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..

3条回答
别忘想泡老子
2楼-- · 2020-06-01 05:57

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

查看更多
我只想做你的唯一
3楼-- · 2020-06-01 06:00

Here you go:

  1. ini_get_all() or get_loaded_extensions() were the closest I could find
  2. php_uname()
  3. apache_get_modules()
  4. phpversion() was the closest I could find
  5. stream_get_wrappers()
  6. stream_get_transports()
  7. 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.

查看更多
虎瘦雄心在
4楼-- · 2020-06-01 06:04

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

查看更多
登录 后发表回答