gpt4 book ai didi

PHP parse_ini_file 和 includes 不工作(Ubuntu 桌面 LAMP)

转载 作者:太空宇宙 更新时间:2023-11-03 17:07:00 26 4
gpt4 key购买 nike

这里是新语言,PHP 对我来说是一种新语言。我正在尝试开发一个网络应用程序。为了保证安全,我试图将我的数据库登录凭据保存在一个简单的 ini 文件(称为 db.ini)中。

1) 我的系统运行的是 Ubuntu 18.04。我已经安装了 LAMP

2) 当我在下面粘贴的 myqli_connect 脚本中有登录凭据时,该脚本通过 mysqli_connect 和 mysqli_query 更新数据库,工作正常。请注意,为了进行故障排除,我会在成功连接时回显一条消息:

$db = 'my_db';
$db_use = 'my_root_user';
$db_pass = 'my_password';
$db_host = 'localhost:3306';

$conn = mysqli_connect($db_host, $db_use, $db_pass, $db);
if(! $conn)
{die('Could not connect connect: ' . mysqli_connect_error()) ;
} else
{echo ("Success");
}

3) 出于安全原因,我创建了一个 db.ini 文件。虽然我打算稍后移动它,但我已将其存储在与我的 .php 脚本相同的目录中:(\var\www\html\my_site)。

这是 .ini 的读取方式

[database]
host = localhost:3306
username = my_root_user
password = my_password
dbname = my_database

3) 我试图通过以下方法解析这个文件。所有的 print_r 都失败了,更不用说打开数据库了,所以他们打不开。

parse_ini_file('db.ini') // failed
parse_ini_file('/var/www/html/my_site/db.ini'); // failed

4) 我已使用以下代码确认该文件存在于我的 php 中。

$filename = 'db.ini';

if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
}

5) 因此,导入似乎无法在我的设置 (Ubuntu LAMP) 上运行。

6) 在一个相关的问题上,我尝试将其作为“要求”,并将变量也保存为 db_config.php。即使文件存在,这也没有链接。

不用说,我已经束手无策了。有什么建议么?我感觉这是一个配置问题,脚本无法与 Apache 或我的 Linux 上的其他文件通信,但没有经验去哪里。

最佳答案

尝试使用这个 parse_ini_string .

代码

$filename = 'db.ini';

if (file_exists($filename)) {
$db = parse_ini_string(file_get_contents($filename));
var_dump($db);
} else {
echo "The file $filename does not exist";
}

关于PHP parse_ini_file 和 includes 不工作(Ubuntu 桌面 LAMP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50454383/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com