让我先说一下,我不希望这成为讨论你是否应该使用短标签。我正在尝试运行遗留系统,它有数千个php代码文件,并且在不发生任何错误的情况下更改它们并不是我们想要使用的解决方案。
话虽如此,我在php.ini中启用了短标签。我已通过在相关文件中运行phpinfo();
并检查其中的设置来验证设置是否生效。但是,<?
或<?=
短打开标记内的代码未执行,只是打印出来就像是HTML一样。有人知道为什么会发生这种情况的原因吗?正常<?PHP
开放标记内的PHP代码正在正常执行。最初服务器运行的是PHP 5.3,我们尝试升级到5.4.7,因为5.4中的短标签发生了变化,但仍然没有运气。
重复评论中的内容:我通过将phpinfo()
添加到一个文件中来运行{{1}},该文件同时使用短标记和常规标记,并在浏览器中打开它。执行完整标签,简称没有。我没有从命令行运行它。 Apache重启了。编辑的php.ini文件是主要的/etc/php.ini文件。没有.htaccess文件更改webroot中的设置。
答案 0 :(得分:0)
更改php.ini文件后是否重新启动了Web服务器?你必须这样做才能让设置生效..
答案 1 :(得分:0)
唯一似乎未经检查的是ini文件中的值被覆盖在某处。
也许一个过分热心的开发人员在.htaccess文件中使用ini_set()
或somewhere else禁用了该文件?