以下内容返回字符串长度为零:
<?php
print_r(ini_get('short_open_tag'));
?>在两个PHP8服务器(apache2handler和cgi)上,我需要知道是否启用了短标记,因为它会造成与XML的冲突。我不能停止我正在做的每一件事去看phpinfo()。
在PHP7.4中,这段代码在两台服务器上都运行得很好。现在,我确实知道短标签是禁用的,尽管我需要能够在服务器升级后快速了解。
如何让ini_get('short_open_tag')重新开始工作?
发布于 2021-05-20 20:52:08
虽然这是一个布尔设置,但ini_get实际上是返回字符串。
注释:查询布尔值时
off的布尔ini值将作为空字符串或"0“返回,而on的布尔ini值将作为"1”返回。该函数还可以返回INI值的文字字符串。
因此,当启用该功能时,它将返回"1“,您可以使用该”1“来检查设置的状态。(尽管在注释中有最后一句,但我从未见过为布尔值返回"on“或"off”之类的文字值。)
var_dump(ini_get('short_open_tag'));已启用设置的输出:
string(1) "1"一点历史:虽然有进行表决来删除这些标记,但它被推翻了。主要关注的是在服务器升级时会显示给最终用户的遗留代码--尽管不鼓励使用几十年来,该设置仍然默认为"On“。在第一个RFC崩溃之后,使短开标签成为错误条件的随后提出的建议没有获得所需的2/3多数通过。
https://stackoverflow.com/questions/67627159
复制相似问题