1

我有一个包含一些 PHP 代码的应用程序,我使用的 PHP 打开/关闭标签是:

<? 
        $anything;
        echo problem;

?>

应用程序未运行。

这种类型的打开/关闭是否有一些规则(可能是 php.ini 配置。)可能导致应用程序无法运行?

PS更好的方法是将所有更改<?<?php

4

5 回答 5

2

使用<?php ?>. <? ?>被称为短标签,并不是每个服务器都设置为支持它们。

于 2011-06-15T18:20:50.763 回答
2

运行 phpinfo(),查找使用 php.ini 的路径。然后打开文件找到short_open_tag

将其设置为打开或关闭。

但总的来说..使用<?php ?>这个更好。

于 2011-06-15T18:21:22.233 回答
1

开放标签的<?版本称为“短标签”。虽然 php 社区更喜欢使用<?php这个标签的完整版本,但使用短标签仍然是可以接受的。理想情况下,我们都会一直使用<?php,但我们经常处理遗留代码,并且更改所有出现的<?to<?php可能既乏味又耗时。如果您发现自己需要允许 php 解释器识别短标签,您可以使用“ short_open_tag=1 ”指令在 php.ini 文件中启用它。

对于您正在开发的新代码,我建议使用 tag 的长版本<?php,因为您知道无论服务器 php.ini 配置中使用的 ini 设置如何,它都是兼容的。有关这方面的更多信息,请参阅:在 StackOverflow 上是否可以使用 PHP 短标签。

要找出您的应用程序没有运行的原因,请检查网络服务器错误日志以及 php 错误日志,并考虑调高 php 的错误报告级别。这也可以在 php.ini 文件中使用error_reporting指令来完成。这将允许您确定导致应用程序无法运行的原因,然后您将了解更多问题。

于 2011-06-15T22:25:10.370 回答
0

您应该使用<?php ?>以确保正确解析。

于 2011-06-15T18:20:57.943 回答
0

在某些特定时间,它适合或可以在 PHP 中使用这样的短标签

<?=$sign['last_connected']?>

注意<?=而不是<?php echo

于 2011-06-15T18:24:23.607 回答