标签归档:php

PHP-FPM理解,基于CGI和Fastcgi

在理解php-fpm之前,先理解下什么叫CGI。CGI是为了保证web server(比如说nginx)传递过来的数据是标准格式。

CGI程序

如果是请求地址为动态文件,比如/index.php,会启动对应的CGI程序(可以理解为PHP的解析器),web server会传递如下数据给PHP的解析器。如:url地址、查询字符串、POST数据(如果是POST请求的话)、HTTP Header等。所以CGI规定需要要传哪些数据,以什么样的格式传递给后方来处理这个请求的协议,再以规定CGI的格式返回处理后的结果,最终退出进程,结果返回到浏览器。

继续阅读

【转载】PHP中Push(推送)技术的探讨

随着人们对Web即时应用需求的不断上升,Server Push(推送)技术在聊天、消息提醒尤其是社交网络等方面开始兴起,成为实时应用的数据流核心。这篇日志试图探讨的便是各种适合于PHP的Push的实现方式以及其优劣。

1. 什么是Server Push

想象在聊天应用中,如果使用传统的ajax来承担消息的传入,那么一般是通过每隔一定时间拉取一次信息的方式实现,但是其实这种方式有大量查询是浪费的。聊天等Web应用更需要服务器在特定时间来主动告知前端有新的消息(Push),而不是前端每时每刻问服务器:“来消息了吗?”(Pull)。这也正是为什么这个技术常被叫做反向ajax。

其他别名:Comet,反向Ajax

继续阅读