问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

php有哪几种运行模式

发布网友 发布时间:2022-04-06 05:02

我来回答

2个回答

懂视网 时间:2022-04-06 09:23

php三种运行方法是:1、通过HTTPServer内置的模块来实现;2、通过CGI来实现;3、通过FastCGI来实现。

推荐:《PHP视频教程》

PHP三种运行方式

三种运行方式:mod_php5、cgi、fast-cgi

1. 通过HTTPServer内置的模块来实现,

例如Apache的mod_php5,类似的Apache内置的mod_perl可以对perl支持;

2. 通过CGI来实现

这个就好比之前perl的CGI,该种方式的缺点是性能差,因为每次服务器遇到这些脚本都需要重新启动脚本解析器来执行脚本然后将结果返回给服务器,另一方面就是不太安全,

该方式几乎很少使用了。

3. 最新出现一种叫做FastCGI。

所谓FastCGI就是对CGI的改进。它一般采用C/S结构,一般脚本处理器会启动一个或者多个daemon进 程,每次HTTPServer遇到脚本的时候,直接交付给FastCGI的进程来执行,然后将得到的结果(通常为html)返回给浏览器。

该种方法的问题存在一个小问题是当遇到大流量的频繁请求的话,脚本处理器的daemon进程可能会超负荷从而变得很慢,甚至发生内存泄漏;

但是比较起Apache的内置模块的方式的优点是由于Server和脚本解析器完全分开各负其责,因此服务器不再臃肿,可以专心地进行静态文件响 应或者将动态脚本解析器的结果返回给用户客户端。

所以比较起Apache的内置模块方式,有时候性能要提高很多。

有人测试可能会达到 Apache+mod_php的5~10倍。

3.1. FastCGI常用模式:

lightppd+spawn-fcgi

nginx+PHP-FPM

a、上面两种都采用FastCGI对PHP支持,因此HTTPServer完全解放出来,可以更好地进行响应和并发处理。

b、spawn-fcgi由于是lighttpd的一部分,因此安装了lighttpd一般就会使用spawn-fcgi对php支持,但是目前有用户说ligttpd的spwan-fcgi在高并发访问的时候,会出现上面说的内存泄漏甚至自动重启fastcgi。

  nginx不像lighttpd本身含带了fastcgi(spawn-fcgi),因此它完全是轻量级的,必须借助第三方的FastCGI处理器才可以对PHP进行解析,因此其实这样看来nginx是非常灵活的,它可以和任何第三方提供解析的处理器实现连接从而实现对PHP的解析。

  nginx可以使用spwan-fcgi(需要一同安装lighttpd,但是需要为nginx避开端口,一些较早的blog有这方面安装的教程),但是由于spawn-fcgi具有上面所述的用户逐渐发现的缺陷,现在慢慢减少使用nginx+spawn-fcgi组合了。

c、由于spawn-fcgi的缺陷,现在出现了新的第三方(目前还是,听说正在努力不久将来加入到PHP core中)的PHP的FastCGI处理器,叫做PHP-FPM。它和spawn-fcgi比较起来有如下优点:

  由于PHP-FPM是作为PHP的补丁来开发的,安装的时候需要和php源码一起编译,也就是说编译到php core中了,因此在性能方面要优秀一些;

  同时它在处理高并发方面也优于spawn-fcgi,至少不会自动重启fastcgi处理器。

  因此,如上所说由于nginx的轻量和灵活性,因此目前性能优越,越来越多人逐渐使用这个组合:nginx+PHP/PHP-FPM 。

热心网友 时间:2022-04-06 06:31

php一共分为五大运行模式:包括cgi 、fast-cgi、cli、isapi、apache 模块的 DLLCGI
,经常接触的应该是:apache 模块的 DLLCGI,另外就是cli命令行模式
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
梦见老婆光脚踩谷子 王者荣耀国服中,不论进入游戏还是没开始游戏,所有玩家发送的任何消息... 我的滴滴开空调活动怎么没了 为什么腾讯视频显示还是要流量看 没有联通中国结标志 电脑不能装win7买电脑时他们说只能装win10系统不能装win7 英雄联盟手游 手机lol游戏盒子现在叫什么? 英雄联盟手机盒子看不了比赛记录 手游英雄联盟视频在哪里看手机英雄联盟盒子在哪看我游戏中录的视频 英雄联盟盒子看视频只有声音没有画面,不是网速的问题,也不是电脑卡,是... 为什么英雄联盟盒子没发看视频 PHP的几种运行模式 我想把pdf等格式的文件转换成swf实现在线预览 看到你已经解决了这个问题 可否指点一二 跪求php实现在线预览excel文件功能,类似邮箱里的预览文件,大神帮帮忙,来上代码 php怎样在线预览office文档 php实现仿网易邮箱在线预览文档功能 PHP实现word以及其他常见格式文档在线预览 PHP正则替换文本内容!内容不支持标签想替换为,号 php正则匹配html标签并替换掉 求教PHP正则替换问题 php正则匹配将section替换成div标签 如何用正则替换标签内的内容? php 正则表达式替换自定义标签 php 正则如何匹配2级域名 php 如何用正则表达式判断字符串是否是域名 求高手写php验证域名的正则表达式 php正则表达式替换网址自动加链接 PHP正则替换? php 正则表达式 域名匹配 PHP如何把手机用户跳转到手机版网页 php屏蔽特殊字符,好像\没有被屏蔽,代码如下 如何修改 PHP是怎么运行的 php文件怎么运行? PHP运行机制 Apache下PHP的几种工作方式 如何让PHP自动运行 - PHP进阶讨论 PHP实现编辑本地TXT PHP无法写本地文件? php 源码怎么本地调试 ?? phpstorm怎么改本地同步文件夹 怎么设置本地 php 目录读写 SUSE LINUX编译PHP程序时出错 PHP编译安装完成报错 php编译curl出错,紧急求助高手门 我在linux下安装php5.3.5时 编译时出错, 具体错误如下 ubuntu下安装PHP,编译时候报错 使用PHP源码编译过程出错(错误139) PHP不能编译,急求大神帮助! 急急急。PHP问题,提示 Smarty的模板语法编译错误,怎么解决 PHP5.5-12编译错误 php中const与define的使用区别 详解