如何使用parse_ini_file()解析MySQL配置文件my.cnf

时间:2015-01-26 11:00:45

标签: php

使用parse_ini_file('/etc/mysql/my.cnf')时,会返回以下错误消息:

Warning: syntax error, unexpected '!' in /etc/mysql/my.cnf on line 141

这是因为配置文件的最后一行,即:

!includedir /etc/mysql/conf.d/

是否可以使用parse_ini_file()来解析MySQL配置文件并绕过与感叹号相关的错误,或者我应该查看preg_match()? 谢谢。

1 个答案:

答案 0 :(得分:3)

不幸的是,parse_ini_file不会做这件事。
你应该转义像

这样的无效字符
  

^!{}〜

在parse_ini_string中解析它之前 您可以在链接上查阅手册:http://php.net/manual/en/function.parse-ini-string.php
以下代码将起到作用

$myfile = file_get_contents("my.cnf");
$invalid = array("!","{","}","~","^");
$myfile = str_replace($invalid, "", $myfile);
$cfg = parse_ini_string($myfile,TRUE);
var_dump($cfg);