- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了一个奇怪的问题,很奇怪,因为在 Google 上什么也没有出现。我正在尝试解析一个充满 HTTP 状态代码的 ini 文件 StatusCodes.ini。我已经在三种不同的环境中进行了测试,本地 (WAMP) 在共享主机 (Hostmonster.com) 上,现在在运行 CentOS w/CPanel/WHM 的专用机器上进行了测试。前两个环境似乎工作正常,但在专用机器上我收到警告:
Warning: syntax error, unexpected TC_CONSTANT in StatusCodes.ini on line 8
when running:
$ini = parse_ini_file('StatusCodes.ini',true);
$codes = $ini['codes'];
ini 文件如下所示:
[codes]100 = Continue101 = Switching Protocols200 = OK201 = Created202 = Accepted203 = Non-Authoritative Information204 = No Content205 = Reset Content206 = Partial Content300 = Multiple Choices301 = Moved Permanently302 = Found303 = See Other304 = Not Modified305 = Use Proxy307 = Temporary Redirect400 = Bad Request...
如果您不想计算,204 = No Content,是第 8 行。我已经把这行去掉了,没有任何变化。有什么建议吗?
最佳答案
如您所述,问题出在 204 = No Content
行.
这是因为 No
这是 INI 文件中的一个特殊值(以及其他值)。 INI 解析器到达此行并读取 No
204
的值键,然后找到尾随的 <space>Content
产生错误的文本。
PHP 手册注释(例如 parse_ini_file
的页面):
Values
null
,no
andfalse
results in""
,yes
andtrue
results in"1"
.
简单的解决方法是将所有的值括在双引号中,或者至少以 INI 关键字开头的值,例如:
[codes]
100 = "Continue"
101 = "Switching Protocols"
200 = "OK"
201 = "Created"
202 = "Accepted"
关于PHP parse_ini_file TC_CONSTANT 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4059834/
我遇到了一个奇怪的问题,很奇怪,因为在 Google 上什么也没有出现。我正在尝试解析一个充满 HTTP 状态代码的 ini 文件 StatusCodes.ini。我已经在三种不同的环境中进行了测试,
我是一名优秀的程序员,十分优秀!