Yii2 重定向导致空白页
Yii2 redirect causes blank page
是否有任何 server/hosting 设置会导致 Yii2 中的简单重定向不起作用?
例如:
function actionIndex(){
return $this->redirect('other-page');
}
此代码以空白页结束,未显示任何错误或消息(错误报告已打开),响应代码为 200(尽管 Yii2 调试器显示 302)。我网站上的所有内容都运行良好,但一旦代码到达任何 ->redirect()
,它就会以空白页结束。
这只发生在我的客户共享主机上(在我的本地机器和开发共享主机上一切正常)。
Yii2 运行时日志没有显示任何错误,我的主机允许我访问的服务器日志也没有。
确保在发送重定向响应之前没有header发送。
同时检查您的 php 文件编码,如果您使用的是 UTF-8,请确保它是没有 BOM 的 UTF-8 编码。
事实证明这是标准的白页错误:在 php 文件的开头添加了新的空白行。
我逐行浏览了框架文件。当我注释掉 if(headers_sent()) {return;}
时,Yii 终于抛出了一个异常,只是让我发现我的一个配置文件在文件的开头有额外的换行符。删除它解决了问题。
是否有任何 server/hosting 设置会导致 Yii2 中的简单重定向不起作用?
例如:
function actionIndex(){
return $this->redirect('other-page');
}
此代码以空白页结束,未显示任何错误或消息(错误报告已打开),响应代码为 200(尽管 Yii2 调试器显示 302)。我网站上的所有内容都运行良好,但一旦代码到达任何 ->redirect()
,它就会以空白页结束。
这只发生在我的客户共享主机上(在我的本地机器和开发共享主机上一切正常)。 Yii2 运行时日志没有显示任何错误,我的主机允许我访问的服务器日志也没有。
确保在发送重定向响应之前没有header发送。
同时检查您的 php 文件编码,如果您使用的是 UTF-8,请确保它是没有 BOM 的 UTF-8 编码。
事实证明这是标准的白页错误:在 php 文件的开头添加了新的空白行。
我逐行浏览了框架文件。当我注释掉 if(headers_sent()) {return;}
时,Yii 终于抛出了一个异常,只是让我发现我的一个配置文件在文件的开头有额外的换行符。删除它解决了问题。