Nginx环境下PHP flush失效的解决方法

问题

我在一次调试PHP逐行输出时候,发现ob_flushflush两个都失效了,通过phpinfo基本能判断php.ini的设置是正常的。

解决方法

再去看Nginx,发现Nginx中,有如下的设置:

fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;

问题基本找到了,Nginx会缓冲PHP输出的信息,当达到128k时才会将缓冲区的数据发送给客户端,那么我们首先需要将这个缓冲区调小,比如:

fastcgi_buffer_size 4k;
fastcgi_buffers 8 4k;

并且,必须禁用gzip

gzip off;

然后,在php中,在ob_flushflush前,输出一段达到4k的内容,例如:

echo str_repeat(‘ ‘, 1024*4);

到此,PHP就可以正常通过ob_flushflush逐行输出需要的内容了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

(0)

相关推荐

  • 详解Docker创建php开发环境遇到的权限问题解决方案

    最近我将公司的开发,和测试环境都运行到docker 上面,因为开发,测试基本都是装代码拉到本址,然后,再装目录,挂载到镜像目录中如:我用的是docker-compose # development.yml version: '2' services: php-fpm: image: jackluo/php-fpm:5.6.3 restart: always volumes: - ./www:/var/www/html - ./data:/usr/local/var/log extra_hosts

  • apache php mysql开发环境安装教程

    apache php mysql开发环境搭建教程,分享给大家,供大家参考 0.资源链接: 360云盘:https://yunpan.cn/c6wpzYwbfmLJY (提取码:0190) 1.首先安装编译器环境 即如下文件: 2.安装apache+php+mysql 即如下文件: 2.1.安装apache 2.1.1安装 只说关键几点 2.1.1.1 2.1.1.2 2.1.1.3 2.1.1.4.在浏览器地址栏输入:localhost ,若出现以下页面,说明您已成功安装apache 2.1.2

  • PHP环境搭建的详细步骤

    接着上篇继续学习,谈谈IIS支持php怎么配置: 1.去php官网下载php:http://windows.php.net/download/ .IIS7我们需要选择php 5.3 以上的VC9包,下载zip文件.如图: 2.将 zip 包解压缩到自己选择的目录,例如 C:\PHP\.解压缩 PHP 的包之后,将 php.ini-production 拷贝为 同一目录下的 php.ini.然后修改配置文件php.ini.必须修改的指令: extension_dir = <指向扩展库目录的路径>

  • 非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程

    本文为大家分享了php运行环境搭建安装图文教程,供大家参考,具体内容如下 安装apache: 1,不要安装到有中文的目录中: 2,尽量将apache,php,mysql安装到一个总的目录,便于管理. 3,尽量将之前安装的amp集成安装环境删除,并删除已经配置的环境变量: 此处是服务器名称的设置,可以随便输入,完成之后可用IP或者localhost来进行访问, 邮箱随便填写,保证邮箱格式的正确 apache安装后的默认主页(站点)的位置为: apache的安装位置/htdocs/ localhos

  • 简述php环境搭建与配置

    最近在学习PHP,以下是看PHP100视频教程,做的学习笔记,在这里存放以便今后使用. apache--PHP--DB(mysql) 一.apache:基本工作 ·用户通过浏览器访问服务器的文件,它就将该文件传递给用户,在用户的浏览器显示该文件的内容. ·普通文本文件,可以通过apache直接传给用户浏览器显示. ·程序文件,比如PHP,它不能直接在浏览器显示,所以需要apache先调用PHP的某个组件,将PHP文件解析执行后,再返回给apache,apache再将这个执行后的文件,传给用户浏览

  • 图文详解PHP环境搭建教程

    前言 PHP起源于1995年,由Rasmus Lerdorf开发.到现在,PHP已经经历了几十年的时间洗涤,成为全球最受欢迎的脚本语言之一.由于PHP5是一种面向对象的.完全跨平台的新型Web开发语言,所以无论从开发者角度考虑还是从经济角度考虑,都是非常实用的.PHP语言结构简单.易于入门,很多功能只需一个函数即可实现.很多机构都相继推出了用于开发PHP的IDE工具.Zend搜索引擎等新型技术. 概述什么是PHP PHP(Hypertext Preprocessor,超文本预处理器),是一种服务

  • PHP+Apache+Mysql环境搭建教程

    Php+Apache+Mysql下载 php下载:http://www.php.net 进入php官网后点击download进入以下界面.上面显示了不同的版本我选择的是php5.6.19版,这个较为稳定,要是没有版本的要求的话建议使用该版本.在Windows环境下开发php,所以继续点击图片中的Windows downloads下载压缩包. 在进去的界面中可以看到主要有VC11 X64 Thread Safe,VC11 X64 None Thread Safe等版本,我选择的是VC11 X64

  • PHP环境搭建(php+Apache+mysql)

    一.软件及系统版本 系统下载地址: 软件包下载地址:http://xiazai.jb51.net/201611/yuanma/php+apache+mysql(jb51.net).rar 二. 下载软件包/换源 (1)下载安装需要软件包软件工具 yum install -y wget vim unzip zip (2)换源 1.首先卸载以前装的epel 以免影响 rpm -e epel-release 2.清空yum缓存 yum clean all yum makecache 3.rm -rf

  • win7下搭建nginx+php的开发环境

    一.下载相关软件 nginx下载:http://nginx.org/en/download.html nginx常见异常:http://feiger.cn/?p=2719 php下载:http://windows.php.net/download#php-7.0 下载RunHiddenConsole:http://www.xdowns.com/soft/1/71/2012/Soft_89261.html 二.配置 nginx.conf文件,我的编辑结果如下所示,具体配置过程中需要注意什么请看注释

  • 在Linux(Ubuntu)下搭建PHP环境的操作步骤

    一.安装Apache2 sudo apt-get install apache2 二.测试Apache2 在地址栏输入以下地址,出现如图所示照片,则表明安装成功 http://localhost/ 三.重启apache2服务 sudo /etc/init.d/apache2 restart //'restart'->'stop'关闭服务; 'restart'->'start'启动服务 四.安装PHP sudo apt-get install php5 libapache2-mod-php5 `

  • 在Mac OS的PHP环境下安装配置MemCache的全过程解析

    安装服务端 memcache是项目名,而在服务端的驻留进程叫memcached(linux的守护进程一般都是在后面加个d).在OSX下使用brew可以快速安装memcache: $ sudo brew install memcached memcache的依赖:openssl和libevent会自动下载并安装. 安装完成后,使用如下命令启动: $ sudo memcached -m 32 -p 11211 -d 安装php扩展 使用php操作memcache前,需要安装php的扩展,php的扩展

  • 老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略

    一.首先安装MySql: 对于MySql来讲在整个过程中是相对独立的安装,并且我的ubuntu在以前做开发的时候就已经安装了MySql,所以以下只给出安装步骤:   1.安装MySql的服务: sudo apt-get install mysql-server 要注意的是安装过程中会提示你设置mysql的root账户的密码:其他就没什么需要注意的地方了. 2.安装MySql的客户端: sudo apt-get install mysql-client 直接输入安装 3.安装MySql的lib依赖

  • windows server 2008/2012安装php iis7 mysql环境搭建教程

    windows server 2008/2012安装php iis7 mysql环境搭建教程,具体内容如下 1.安装IIS windows server 2008的IIS版本为7.0,包括fastcgi,安装十分方便. 打开"开始"菜单→"服务器管理",出现服务器管理界面(图1) 图1 - 服务器管理 滚动条下翻,或者点击主菜单的"角色",然后点击"添加角色",出现向导页面后点击下一步,选择"web服务器(IIS)&

随机推荐