Joh*_*ohn 1 php php-shorttags php-8
以下返回字符串长度为零:
<?php
print_r(ini_get('short_open_tag'));
?>
Run Code Online (Sandbox Code Playgroud)
在两台 PHP 8 服务器(apache2handler 和 cgi-fcgi)上,我需要知道是否启用了短标签,因为它会与 XML 产生冲突。我无法停下手中的一切去看看phpinfo()。
这段代码在两台服务器上的 PHP 7.4 中都运行得很好。现在,我确实知道短标签已被禁用,尽管我需要能够在服务器升级后快速知道。
我怎样才能ini_get('short_open_tag')重新开始工作?
虽然这是一个布尔设置,ini_get但实际上返回一个 string。
\n\n注意:查询布尔值时
\n布尔 ini 值
\noff将作为空字符串或“0”返回,而布尔 ini 值on将返回“1”。该函数还可以返回 INI 值的文字字符串。
因此,当该功能启用时,它将返回“1”,您可以使用它来检查设置的状态。(尽管该注释中的最后一句话,我从未见过为布尔值返回任何文字值,例如“on”或“off”。)
\nvar_dump(ini_get(\'short_open_tag\'));\nRun Code Online (Sandbox Code Playgroud)\n启用设置后的输出:
\nstring(1) "1"\nRun Code Online (Sandbox Code Playgroud)\n一段历史:尽管进行了投票以删除这些标签,但它被推翻了。主要担心的是在服务器升级 \xe2\x80\x93 时向最终用户显示的遗留代码,这与该设置继续默认为“打开”的原因相同,尽管几十年来不鼓励使用它。在第一个 RFC 崩溃之后,随后的一项将短开放标签设置为错误条件的提案并未获得通过所需的 2/3 多数票。
\n