为什么Yii会将“<! - ?php”渲染到每个后端控制器输出中? - >

时间:2015-04-17 12:27:06

标签: php yii

可重现的问题

在2.0.3&#34;高级&#34; (Yii提供项目的基本和高级设置)在后端创建一个空控制器,如

public function actionTest()
{
}

并在浏览器中调用它。您会看到一个空白页面。查看源代码时,您会看到一个孤独的php标记。

<?php

这看起来像是一个错误,因为它不会发生在前端文件夹中,只发生在后端文件夹中。这对于渲染CSV文件非常重要,它会破坏文件。

我不确定这是我身上的错误还是框架内的真正错误。

1 个答案:

答案 0 :(得分:4)

这是Yii 2.0.3中的错误!

...由裸PHP文件中的较低级别且不那么明显的空白问题引起。

门票&amp;更多信息:

https://github.com/githubjeka/yii2-rest/issues/3

https://github.com/yiisoft/yii2-app-advanced/issues/24

http://php.net/manual/en/language.basic-syntax.phptags.php#116883

如何解决此问题:

问题简而言之:PHP标记为<?php[whitespace character],而不仅仅是<?php。圣!完全有道理,但说实话,谁会立刻知道这个?

Yii 2.x使用(在高级演示应用程序中)“空”文件 config / bootstrap.php ,只包含一个php标记<?php,后面没有空格。当bootstrap.php现在通过index.php加载时,它被加载为包含<?php的文本文件,而不是解析为PHP文件。

您可以通过在标记之后直接添加空格来解决此问题。