为什么 Yii 将“<?php”渲染到每个后端控制器输出中?
Why does Yii render "<?php" into every backend controller output?
可重现的问题
在 2.0.3 "advanced"(Yii 提供项目的基本和高级设置)在后端创建一个空控制器,例如
public function actionTest()
{
}
并在浏览器中调用它。您会看到一个空白页面。查看源代码时,您会看到一个孤独的 php 标记。
<?php
这对我来说像是一个错误,因为它不会发生在前端文件夹中,只会发生在后端文件夹中。这在渲染 CSV 文件时非常重要,它会破坏文件。
我不确定这是我这边的错误还是框架内部的真正错误。
这是 Yii 2.0.3 中的错误!
... 由裸 PHP 文件中较低级别且不太明显的空白问题引起。
门票及更多信息:
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 文件。
您只需在标记后直接添加一个空格即可解决此问题。
可重现的问题
在 2.0.3 "advanced"(Yii 提供项目的基本和高级设置)在后端创建一个空控制器,例如
public function actionTest()
{
}
并在浏览器中调用它。您会看到一个空白页面。查看源代码时,您会看到一个孤独的 php 标记。
<?php
这对我来说像是一个错误,因为它不会发生在前端文件夹中,只会发生在后端文件夹中。这在渲染 CSV 文件时非常重要,它会破坏文件。
我不确定这是我这边的错误还是框架内部的真正错误。
这是 Yii 2.0.3 中的错误!
... 由裸 PHP 文件中较低级别且不太明显的空白问题引起。
门票及更多信息:
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 文件。
您只需在标记后直接添加一个空格即可解决此问题。