为什么简写PHP开头语句不起作用?

时间:2009-05-18 22:40:11

标签: php macos

我正在尝试将我的Mac设置为php服务器,但是,就像我到目前为止一样成功,我似乎有点麻烦。

我的PHP开场陈述不起作用......但只是简写。

这有效:

<?php 
  phpinfo();
?>

这不是:

<?
  phpinfo();
?>

这是Mac 10.5。希望有人可以提供帮助。

由于

3 个答案:

答案 0 :(得分:13)

在php.ini中,将short_open_tag设置为开。

short_open_tag = On

来自文档:

  

short_open_tag boolean

     

判断是否为简短形式(<? ?>)   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是一个好主意。

答案 1 :(得分:0)

检查您的php.ini文件是否包含short_open_tag=1行。

答案 2 :(得分:0)

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