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

由于某种原因,此代码导致指向文件末尾的意外文件结束错误。我知道这段代码是有效的,因为它可以在我的其他服务器上运行。有谁知道为什么这可能会引发错误?

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

当我注释掉 $block 行和 print 行时,我得到了同样的错误。

4

3 回答 3

1

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

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

short_open_tag=On

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

于 2013-07-19T16:45:19.333 回答
0

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

于 2013-07-19T16:45:10.557 回答
0

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

谢谢马克西姆斯2012

于 2013-07-19T16:46:02.140 回答