有没有特殊的函数可以在php中解析.conf文件,比如parse_ini_file()
函数?
Conf类似于httpd.conf(Apache)。(我想读取和编辑httpd.conf文件)
没有特殊的函数来解析httpd.conf,但是解析器很容易编写,例如如果你只对key-value设置感兴趣,比如ServerRoot /var/www
,那么这个技巧就是:
<?php
define('HTTPD_CONF', '/tmp/httpd.conf');
$lines = file(HTTPD_CONF);
$config = array();
foreach ($lines as $l) {
preg_match("/^(?P<key>w+)s+(?P<value>.*)/", $l, $matches);
if (isset($matches['key'])) {
$config[$matches['key']] = $matches['value'];
}
}
var_dump($config);
https://github.com/pear/Config
例如:
$conf = new Config();
$root = $conf->parseConfig("/etc/apache2/httpd.conf","apache");
print current($root->getItem('directive', 'Listen'))->content;