gpt4 book ai didi

PHP parse_ini_file 问题

转载 作者:可可西里 更新时间:2023-11-01 13:22:39 25 4
gpt4 key购买 nike

我有一个如下所示的 config.ini 文件:

[database]
username = user1
password = pass1
dbname = db1

我想用 PHP 解析它,但我没有运气。我正在尝试的代码是:

$inifile = parse_ini_file($_SERVER['DOCUMENT_ROOT'] . "/cfi/config.ini", true);
var_dump($inifile);

PHP 是包含的一部分,这就是为什么我尝试添加 $_SERVER['DOCUMENT_ROOT'] 以确保它找到配置文件。

var_dump 的结果总是bool(false)

我做错了什么?

编辑:

我添加了/现在它肯定指向配置文件。但是还是有bool(false)

的结果

最佳答案

Lee,如果您尝试访问的文档位于文件夹 root/cfi/config.ini 中,这看起来很像是在 $_SERVER[' 的范围之外Document_Root']; 变量 - 看起来像这样:

/home/accountname/websitefolder/

你的 ini 文件听起来就像它位于文件夹中

/home/accountname/root/cfi/

这意味着您将无法到达它。如果地址正确,您可以调试:

if(file_exists($_SERVER['DOCUMENT_ROOT'] . "/cfi/config.ini")){
print fileperms($_SERVER['DOCUMENT_ROOT'] . "/cfi/config.ini");
}
else {
die("does not exist at this location");
}

fileperms 函数将反馈文件的访问权限,如果文件位于正确的位置,这可能会阻止 PHP 读取它。

ini 文件结构:

此外,您将需要确认您的 ini 文件是正确的结构,ini 文件需要是有效的 ini 结构,如 php.ini 文件,请参阅 http://php.net/manual/en/function.parse-ini-file.php

(编辑:为了 BoltClock 的编辑,我想保留上面关于 ini 文件结构的声明,因为这实际上是 OP 问题的原因,但是我已经改写了它。谢谢)

附加:

错误跟踪对于找出出错的原因至关重要:从这篇关于 SO 的帖子 - How to log errors and warnings into a file? - 根据 Fred-ii 的明智建议 - 任何人都可以将以下内容添加到他们的文件顶部以获得一些错误反馈:

error_reporting(E_ALL);
ini_set('display_errors', 1);
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");

对于那些知道的人来说,这看起来有些过分,但是上面的代码按顺序将:

report all errors
display these errors to the browser
log these errors to the log file
set where the log file lives.

显示 日志文件不是必需的,但我把它们都放在里面,以便人们可以选择他们的方法。生产服务器应始终禁用向浏览器显示错误。

现在,您有一个包含许多错误的日志文件,您需要您的 (S)FTP 程序在文件夹中查找它,上述文件夹 /tmp/ 不在您的文件夹中网站域文件夹,但在它旁边的伴随文件夹中,因此您需要 (S)FTP 才能访问它。登录,找到文件夹,然后归档并下载。用文本编辑器打开它,它会给你你的错误。从服务器上删除该文件,当出现新的错误时会生成一个新文件。

关于PHP parse_ini_file 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28878639/

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