2

我正在尝试将我的 Mac 设置为 php 服务器,但是,到目前为止,我已经取得了成功,但我似乎遇到了一些麻烦。

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

这有效:

<?php 
  phpinfo();
?>

这不会:

<?
  phpinfo();
?>

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

谢谢

4

3 回答 3

13

在您的 php.ini 中,将short_open_tag设置为 On。

short_open_tag = On

从文档:

short_open_tag 布尔值

<? ?>指示是否应允许 PHP 的 open 标记的缩写形式 ( )。如果您想将 PHP 与 XML 结合使用,您可以禁用此选项以使用<?xml ?> 内联。否则,您可以使用 PHP 打印它,例如:<?php echo '<?xml version="1.0"'; ?>. 此外,如果禁用,您必须使用 PHP 开放标记 ( <?php ?>) 的长格式。

编辑:

short_open_tag从 5.3.0 开始是PHP_INI_ALL,这意味着它可以在任何地方更改(php.ini、.htaccess、在脚本中)。而且5.3.0之前是PHP_INI_PERDIR,也就是说可以在php.ini和.htaccess中设置。因此,在大多数情况下,即使您不控制服务器,您也可以更改其值。

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

于 2009-05-18T22:42:12.947 回答
0

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

于 2009-05-18T22:43:16.860 回答
0

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

于 2009-05-18T22:44:04.470 回答