2009-05-18 33 views
2

我想让我的Mac设置成为一个PHP服务器,但是,至今我一直如此成功,似乎已经遇到了一些麻烦。为什么会缩短PHP开放语句不起作用?

我的PHP开放语句不起作用......但只有速记类型。

这工作:

<?php 
    phpinfo(); 
?> 

这不:

<? 
    phpinfo(); 
?> 

它的Mac 10.5。希望有人能帮忙。

感谢

+0

你应该更好地使用干净的代码。 – Gumbo 2009-05-18 22:43:38

+1

正如其他人所说,关键是在你的php.ini中启用短开标签选项。不过,强烈建议使用完整的开头陈述。短的是旧的,模糊的,如果我记得正确,很快就会过时。如果你看到它,跑到山上! – 2009-05-18 22:51:10

回答

13

在php.ini,设置short_open_tag为开。

short_open_tag = On 

从文档:

short_open_tag的值为布尔

告知是否短表(<? ?>)PHP的开放标签的 应该 允许的。如果您想使用 中的PHP与XML组合,您可以禁用 此选项,以便内嵌使用<?xml ?> 。否则,您可以用PHP打印它 ,例如:<?php echo '<?xml version="1.0"'; ?>。另外,如果 已禁用,则必须使用PHP开放标记(<?php ?>)的长格式 。

编辑:

short_open_tagPHP_INI_ALL as of 5.3.0,这意味着它可以在任何地方改变(php.ini中,htaccess的,在脚本)。它是5.3.0之前的PHP_INI_PERDIR,这意味着它可以在php.ini和.htaccess中设置。因此,即使您不控制服务器,也可以在大多数情况下更改其值。

但是,此设置默认为关闭。如果您要分发您的脚本,它将不适用于大多数开箱即用的安装。在这种情况下,搜索/替换切换到<?php是个不错的主意。

0

您是否确认short_open_tag(请参阅here)已在您的php.ini中启用?