使用有效代码的意外文件结束错误


Unexpected end of file error with valid code

<?php if (arg(1) == 40): ?>
    <?php
        $block = module_invoke('views', 'block_view', 'home_rotator-block');
        print render($block['content']);
    ?>            
<? endif; ?>

由于某种原因,此代码导致指向文件末尾的意外文件结束错误。我知道这段代码是有效的,因为它在我的另一台服务器上工作。有没有人知道为什么这可能会引发错误?

注意:我知道它可以有不同的格式(没有 if 语句内部。

当我注释掉$block行和打印行时,我收到相同的错误。

新服务器可能不支持短 PHP 标记。不要使用短标签<??>,而是使用完整的标签:<?php?>

或者,如果要在新服务器上启用它,只需更改php.ini文件中的指令:

short_open_tag=On

但是,<?php是官方标准,我建议您在任何地方使用它,这样您就不必每次在服务器之间切换时都更改它。

您正在为最后一行使用短标签。这很可能无法在您的服务器上启用。检查 php.ini 以确保。

>Maximus2012能够回答这个问题。我不得不将<?更改为<?php.

感谢马克西姆斯2012