PHP连接变量ini文件

时间:2012-09-12 18:18:41

标签: php mysqli ini

如果远程访问数据库的唯一目的是SELECT,那么在ini文件中存储数据库连接信息有什么风险和好处?

2 个答案:

答案 0 :(得分:4)

ini文件中存储配置没有任何问题,但最好不要触摸 php.ini文件。

只需创建您自己的.ini文件,然后使用parse_ini_file($filename)parse_ini_file($filename, true)进行阅读,以便按部分进行分组。

有关详细信息,请参阅php docs

修改

进一步的例子

; This is your 'config.ini' file, stored on your web server
; Just make sure it isn't in a public directory!

[database]
host = localhost
user = bob
password = password

然后你的php:

$config = parse_ini_file(__DIR__ . '/../config.ini', true); // Assuming your php is in the root directory of your web server, so placing the file where it can't be seen by prying eyes!
$host = $config['database']['host'];
// etc...

答案 1 :(得分:1)

如果您想要php.ini部分下的[mysqli]文件和设置:

[mysqli]
mysqli.default_port = 3306
mysqli.default_host = 127.0.0.1
mysqli.default_user = db_user
mysqli.default_pw = db_pass

然后在ini文件中设置它们可以方便地进一步使用myqsli,因为你不必解析任何文件/定义你自己的配置,只需连接:

$db = mysqli_connect(); // no arguments, just works.
$res = mysqli_query($db, 'SHOW DATABASES');
while($row = mysqli_fetch_assoc($res)){
    print_r($row);
}

只有在您离开phpinfo的地方才存在风险,那么您的用户名和密码将会暴露给查看此文件的任何人。