`
天梯梦
  • 浏览: 13634254 次
  • 性别: Icon_minigender_2
  • 来自: 洛杉矶
社区版块
存档分类
最新评论

PHP数组显示 phpinfo, ini, extensions等信息

 
阅读更多

1. phpinfo to array

function phpinfo_array($return=false)
{
 	ob_start();
 	phpinfo(-1);
 
 	$pi = preg_replace(
 	array('#^.*<body>(.*)</body>.*$#ms', '#<h2>PHP License</h2>.*$#ms',
	 '#<h1>Configuration</h1>#',  "#\r?\n#", "#</(h1|h2|h3|tr)>#", '# +<#',
	 "#[ \t]+#", '#&nbsp;#', '#  +#', '# class=".*?"#', '%&#039;%',
	  '#<tr>(?:.*?)" src="(?:.*?)=(.*?)" alt="PHP Logo" /></a>'
	  .'<h1>PHP Version (.*?)</h1>(?:\n+?)</td></tr>#',
	  '#<h1><a href="(?:.*?)\?=(.*?)">PHP Credits</a></h1>#',
	  '#<tr>(?:.*?)" src="(?:.*?)=(.*?)"(?:.*?)Zend Engine (.*?),(?:.*?)</tr>#',
	  "# +#", '#<tr>#', '#</tr>#'),
 	array('$1', '', '', '', '</$1>' . "\n", '<', ' ', ' ', ' ', '', ' ',
	  '<h2>PHP Configuration</h2>'."\n".'<tr><td>PHP Version</td><td>$2</td></tr>'.
	  "\n".'<tr><td>PHP Egg</td><td>$1</td></tr>',
	  '<tr><td>PHP Credits Egg</td><td>$1</td></tr>',
	  '<tr><td>Zend Engine</td><td>$2</td></tr>' . "\n" .
	  '<tr><td>Zend Egg</td><td>$1</td></tr>', ' ', '%S%', '%E%'),
 	ob_get_clean());

 	$sections = explode('<h2>', strip_tags($pi, '<h2><th><td>'));
 	unset($sections[0]);

 	$pi = array();
 	foreach($sections as $section)
 	{
   		$n = substr($section, 0, strpos($section, '</h2>'));
   		preg_match_all('#%S%(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?%E%#',$section, $askapache, PREG_SET_ORDER);
   		foreach($askapache as $m) $pi[$n][$m[1]]=(!isset($m[3])||$m[2]==$m[3])?$m[2]:array_slice($m,2);
 	}

 	return ($return === false) ? print_r($pi) : $pi;
}

phpinfo_array();

 

来源:http://www.php.net/manual/en/function.phpinfo.php#87463

 

2. get_loaded_extensions  and PHP_VERSION

print_r(get_loaded_extensions());  

//print_r(apache_get_modules()); // 一般服务商都会屏蔽掉

print_r(PHP_VERSION);

 

3.  ini to array

$ini_path = php_ini_loaded_file();
print_r($ini_path); 

$ini = parse_ini_file($ini_path);
print_r($ini);

 

or

function parse_ini ( $filepath ) 
{
    $ini = file( $filepath );
    if ( count( $ini ) == 0 ) { return array(); }
    $sections = array();
    $values = array();
    $globals = array();
    $i = 0;
    foreach( $ini as $line ){
        $line = trim( $line );
        // Comments
        if ( $line == '' || $line{0} == ';' ) { continue; }
        // Sections
        if ( $line{0} == '[' ) {
            $sections[] = substr( $line, 1, -1 );
            $i++;
            continue;
        }
        // Key-value pair
        list( $key, $value ) = explode( '=', $line, 2 );
        $key = trim( $key );
        $value = trim( $value );
        if ( $i == 0 ) {
            // Array values
            if ( substr( $line, -1, 2 ) == '[]' ) {
                $globals[ $key ][] = $value;
            } else {
                $globals[ $key ] = $value;
            }
        } else {
            // Array values
            if ( substr( $line, -1, 2 ) == '[]' ) {
                $values[ $i - 1 ][ $key ][] = $value;
            } else {
                $values[ $i - 1 ][ $key ] = $value;
            }
        }
    }
    for( $j=0; $j<$i; $j++ ) {
        $result[ $sections[ $j ] ] = $values[ $j ];
    }
    return $result + $globals;
}

//$stores = parse_ini($ini_path);
//print_r( $stores );

 

来源:http://php.net/parse_ini_file

 

 

 

 

 

分享到:
评论

相关推荐

    phpinfo无法显示的原因及解决办法

    无法查询到php信息。 环境:linux版本CentOS Linux release 7.3.1611 (Core),nginx使用tengine。php和tengine均为源码安装到/usr/local。 首先确认tengine已经启动,在网站根目录下写了个静态测试网页,测试没问题...

    phpinfo信息

    phpinfo

    phpinfo.php

    phpinfo.php

    php.ini文件配置好后,zend路径也全部配置正确,但是phpinfo()还显示没有zend信息

    php.ini文件配置好后,zend路径也全部配置正确,但是phpinfo()还显示没有zend信息,查看zend的目录是否有user权限。默认即可。

    PHPINFO,PHP

    一个很经典的PHPINFO,单个tag不多于12个字符,多个关键字请用空格分隔,最多填写5个。点击右侧我的Tag可快速添加

    PHP - PHPManagerForIIS-1.2.0-x86

     2、尽管PHP Mnanger有PHP Extension的管理,比如从外部导入相关的DLL文件,禁止或启用DLL扩展等,但这一切的基础建立在安装PHP时PHP安装目录下已包含ext目录,否则phpinfo是不会显示相应PHP扩展库的。  3、提供...

    查找php配置文件php.ini所在路径的二种方法

    通常php.ini的位置在:复制代码 代码...2.执行,(需要修改php为你自己的路径)[code]/usr/local/php/bin/php –ini会显示php.ini所在路径,哪个路径下没有php.ini文件,复制代码 代码如下:Configuration File (php.in

    php_redis_5.5_vc11

    请检查vc版本是否一致,找到对应的igbinary和php_redis版本,将两个dll扔至path/to/php/ext下,并修改php.ini,找到扩展段 依次加入 extension=php_igbinary.dll extension=php_redis.dll 注意顺序 并重启apache/...

    PHP - PHPManagerForIIS-1.2.0-x64

     2、尽管PHP Mnanger有PHP Extension的管理,比如从外部导入相关的DLL文件,禁止或启用DLL扩展等,但这一切的基础建立在安装PHP时PHP安装目录下已包含ext目录,否则phpinfo是不会显示相应PHP扩展库的。  3、提供...

    phpinfo_feathersllf_zip_php_

    just simple php info

    php web环境和命令行环境下查找php.ini的位置

    php.ini 是php运行的配置文件,不是一个必须使用的文件。不过通常php程序运行都需要加载php.ini文件。...1. web环境通过phpinfo() 查看php.ini位置 (php.ini 在哪里 “php.ini 在哪里”) 命令行模式通过 php -i 查

    php_xdebug-2.7.2-7.3-vc15-x86_64.zip

    我是用wampServer2.2的环境的,环境本身自带了对应的xdebug,只需要修改php.ini的配置就可以了。但是php.ini文件要找对,我一开始就是找错了文件...可以通过phpinfo()方法查看php.ini的位置,直接搜索php.ini就可以了:

    phph_info_phpinfo_

    phpinfo ok

    谈谈从phpinfo中能获取哪些值得注意的信息

    PHP中提供了PHPInfo()函数,该函数返回 PHP 的所有信息,包括了 PHP 的编译选项及扩充配置、PHP 版本、服务器信息及环境变量、PHP 环境变量、操作系统版本信息、路径及环境变量配置、HTTP 标头、及版权宣告等信息。...

    laravel-phpinfo:Laravel PHP Info 是一个使用刀片模板提供 PHPInfo() 页面的包。 配置文件可用于启用身份验证保护并指定角色中间件

    目录:执照Laravel PHP 信息使用刀片模板轻松显示PHPInfo()页面可以发布可定制的视图和资产启用/禁用身份验证中间件指定额外的中间件配置选项使用语言本地化文件 要求Laravel 5.3、5.4、5.5、5.6、5.7、5.8、6、7 ...

    php5.5版php_memcache5.5.12扩展

    1)下载安装wamp2.5(64 BITS & PHP 5.5) win764位 php5.5.12 2)配置64位系统的php_memcache扩展 php_memcache-3.0.8-5.5-ts-vc11-x64 ...用&lt;?php phpinfo();?&gt;查看memcache是否安装成功 已成功配置扩展

    phpinfo()截图

    phpinfo()中关于mssql配置的截图

    php安全设置(涉及到本身程序的安全问题)

    我们php手手工安装的,php的默认配置文件在 /usr/local/apache2/conf/php.ini,我们最主要就是要配置php.ini中的内容,让我们执行php能够更安全。 整个PHP中的安全设置主要是为了防止phpshell和SQL Injection的攻击...

    PHP_Setup_for_IIS_MySQL5

    PHP Setup for IIS - MySQL5是,在Internet 信息服务(IIS)中,自动安装 PHP, MySQL的服务器端应用软件。 本软件是没有任何限制的免费软件。 为了使用本软件,在 Windows 2000/XP/2003 中,必须安装Internet 信息...

Global site tag (gtag.js) - Google Analytics