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 hac
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
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
Here you go:
ini_get_all()
or get_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.