加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP输出缓冲区获取白屏并且方法返回时没有错误

发布时间:2020-12-13 22:53:58 所属栏目:PHP教程 来源:网络整理
导读:我一直在使用 PHP很长一段时间,由于某种原因,迁移到新服务器导致白屏死机.显然它必须是因为版本差异.我多年来一直使用相同的输出缓冲模式. 通常… ob_start();? //HTML...?php$output = ob_get_clean();ob_flush();return $output; 最近我发现了我的普通/更
我一直在使用 PHP很长一段时间,由于某种原因,迁移到新服务器导致白屏死机.显然它必须是因为版本差异.我多年来一直使用相同的输出缓冲模式.

通常…

ob_start();
?>
    //HTML...
<?php
$output = ob_get_clean();
ob_flush();

return $output;

最近我发现了我的普通/更新版本的PHP中的一些问题(我认为在我的WAMP上5.4),同时返回HTML部分并在视图之间传递它们(我使用MVC).它们完全显示在屏幕上,根本没有保存在缓冲区中.我发现我在ob_start()中需要一个必要的标志,让它知道可以删除缓冲区.

像ob_start一样(null,PHP_OUTPUT_HANDLER_REMOVABLE);

但是现在我的页面已经存在而不是在WAMP上,整个页面现在断开并显示完整的白色屏幕.我打开了所有错误报告但仍然没有.没有任何东西出现在日志等等所以我做了一大堆回声“测试”;死;看看它破坏了哪一行,当我删除在视图之间传递完成的HTML块的缓冲部分时,一切都很好.

我需要弄清楚如何正确地返回我的部分.

解决方法

在这种情况下你不需要ob_flush()因为ob_get_clean()已经关闭了输出缓冲区.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读