我正在尝试获取 PHP 中“隐藏”常量的可靠(跨请求一致)列表(例如,在大多数情况下,客户端在没有黑客攻击的情况下不会知道它)。
我感兴趣的一些事情如下:
./configure
选项。- 我还想要 phpinfo 中的第一个
System
值。 - 加载的 PHP 模块(如 Apache 部分所示)
- PHP 的构建日期。
- 注册 PHP 流
- 注册流套接字传输
- 注册流过滤器
如何获取 phpinfo 的一部分或将这些值作为常规字符串获取?请注意,是否包含标记并不重要,但我不想解析 phpinfo,因为这看起来真的很慢,而且肯定有更好的方法..
最佳答案
给你:
ini_get_all()
或get_loaded_extensions()
是我能找到的最接近的php_uname()
apache_get_modules()
phpversion()
是我能找到的最接近的stream_get_wrappers()
stream_get_transports()
stream_get_filters()
另请参阅 get_define_constants()
和 some more .
正如 Chacha102 提到的,您还可以使用输出控制函数并解析 phpinfo()
:
ob_start();
phpinfo();
$variable = ob_get_contents();
ob_get_clean();
由于使用了 ob_get_clean()
,它不会扰乱您可能使用的其他输出缓冲级别。
关于configuration - 如何以编程方式从 php 获取 phpinfo() 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2069364/