企业网站建设

建站知识

今日已发布信息: 282584
累计注册用户: 77567429

PHP运行模式

概述: 可以选择以 CGI 的模式安装。或者把 PHP 用于不同的 CGI 封装以便为代码创建安全的 chroot 和 setuid 环境。这样每个客户机请求一个PHP文件,Web服务器就调用php.exe(win下是php.exe,linux是php)去解释这个文件,然后再把解释的结果以网页的形式返回给客户机。 这种安装方式通常会把 PHP 的可执行文件安装到 web 服务器的 cgi-bin 目录。CERT 建议书 CA-96.11 建议不要把任何的解释器放到 cgi-bin 目录。

http://www.365128.com


1、运行模式

关于PHP目前比较常见的五大运行模式:

1)CGI(通用网关接口 / Common Gateway Interface)

2)FastCGI(常驻型CGI / Long-Live CGI)

3)CLI(命令行运行 / Command Line Interface)

4)Web模块模式(Apache等Web服务器运行的模式)

5)ISAPI(Internet Server Application Program Interface)

备注:在PHP5.3以后,PHP不再有ISAPI模式,安装后也不再有php5isapi.dll这个文件。要在IIS6上使用高版本PHP,必须安装FastCGI 扩展,然后使IIS6支持FastCGI。

1.1 CGI模式

  CGI即通用网关接口(Common Gateway Interface),它是一段程序,通俗的讲CGI就象是一座桥,把网页和Web服务器中的执行程序连接起来,它把HTML接收的指令传递给服务器的执行程序,再把服务器执行程序的结果返还给HTML页。CGI 的跨平台性能极佳,几乎可以在任何操作系统上实现。 CGI已经是比较老的模式了,这几年都很少用了。

  每有一个用户请求,都会先要创建CGI的子进程,然后处理请求,处理完后结束这个子进程,这就是Fork-And-Execute模式。 当用户请求数量非常多时,会大量挤占系统的资源如内存,CPU时间等,造成效能低下。所以用CGI方式的服务器有多少连接请求就会有多少CGI子进程,子进程反复加载是CGI性能低下的主要原因。

  如果不想把 PHP 嵌入到服务器端软件(如 Apache)作为一个模块安装的话,可以选择以 CGI 的模式安装。或者把 PHP 用于不同的 CGI 封装以便为代码创建安全的 chroot 和 setuid 环境。这样每个客户机请求一个PHP文件,Web服务器就调用php.exe(win下是php.exe,linux是php)去解释这个文件,然后再把解释的结果以网页的形式返回给客户机。 这种安装方式通常会把 PHP 的可执行文件安装到 web 服务器的 cgi-bin 目录。CERT 建议书 CA-96.11 建议不要把任何的解释器放到 cgi-bin 目录。

  这种方式的好处是把Web Server和具体的程序处理独立开来,结构清晰,可控性强,同时缺点就是如果在高访问需求的情况下,CGI的进程Fork就会成为很大的服务器负担,想 象一下数百个并发请求导致服务器Fork出数百个进程就明白了。这也是为什么CGI一直背负性能低下,高资源消耗的恶名的原因。

1.2 FastCGI模式

  FastCGI是CGI的升级版本,FastCGI像是一个常驻 (long-live)型的 CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去 Fork 一次 (这是 CGI 最为人诟病的 fork-and-execute 模式)。

 

  阿勒泰免费做网站  补习   今日推荐免费建站   分类信息   杭州网站建设公司

 

  FastCGI是一个可伸缩地、高速地在HTTP server和动态脚本语言间通信的接口。多数流行的HTTP server都支持FastCGI,包括Apache、Nginx和lighttpd等,同时,FastCGI也被许多脚本语言所支持,其中就有PHP。

  FastCGI接口方式采用C/S结构,可以将HTTP服务器和脚本解析服务器分开,同时在脚本解析服务器上启动一个或者多个脚本解析守护进程。当HTTP服务器每次遇到动态程序时,可以将其直接交付给FastCGI进程来执行,然后将得到的结果返回给浏览器。这种方式可以让HTTP服务器专一地处理静态请求或者将动态脚本服务器的结果返回给客户端,这在很大程度上提高了整个应用系统的性能。

  【原理】

1)Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module);

2)FastCGI进程管理器自身初始化,启动多个CGI解释器进程 (可见多个php-cgi.exe或php-cig)并等待来自Web Server的连接;

3)当客户端请求到达Web Server时,FastCGI进程管理器选择并连接到一个CGI解释器。Web server将CGI环境变量和标准输入发送到FastCGI子进程php-cgi;

4)FastCGI子进程完成处理后将标准输出和错误信息从同一连接返回Web Server。当FastCGI子进程关闭连接时,请求便告处理完成。FastCGI子进程接着等待并处理来自FastCGI进程管理器(运行在 WebServer中)的下一个连接。在正常的CGI模式中,php-cgi.exe在此便退出了。

  在CGI模式中,你可以想象 CGI通常有多慢。每一个Web请求PHP都必须重新解析php.ini、重新载入全部dll扩展并重初始化全部数据结构。使用FastCGI,所有这些都只在进程启动时发生一次。一个额外的好处是,持续数据库连接(Persistent database connection)可以工作。

    备注:PHP的FastCGI进程管理器是PHP-FPM(PHP-FastCGI Process Manager)

  【优点】

1)从稳定性上看,FastCGI是以独立的进程池来运行CGI,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑;

2)从安全性上看,FastCGI支持分布式运算。FastCGI和宿主的Server完全独立,FastCGI怎么down也不会把Server搞垮;

3)从性能上看,FastCGI把动态逻辑的处理从Server中分离出来,大负荷的IO处理还是留给宿主Server,这样宿主Server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分,大量的是图片等静态。

  【缺点】

  说完了好处,也来说说缺点。从我的实际使用来看,用FastCGI模式更适合生产环境的服务器。但对于开发用机器来说就不太合适。因为当使用 Zend Studio调试程序时,由于 FastCGI会认为 PHP进程超时,从而在页面返回 500错误。这一点让人非常恼火,所以我在开发机器上还是换回了 ISAPI模式。对某些服务器的新版本支持不好,对分布式负载均衡没要求的模块化安装是否是更好的选择。目前的FastCGI和Server沟通还不够智能,一个FastCGI进程如果执行时间过长会被当成是死进程杀掉重起,这样在处理长时间任务的时候很麻烦,这样做也使得FastCGI无法允许联机调试。因为是多进程,所以比CGI多线程消耗更多的服务器内存,PHP-CGI解释器每进程消耗7至25兆内存,将这个数字乘以50或100就是很大的内存数。

1.3 CLI模式

  PHP-CLI是PHP Command Line Interface的简称,如同它名字的意思,就是PHP在命令行运行的接口,区别于在Web服务器上运行的PHP环境(PHP-CGI,ISAPI等)。 也就是说,PHP不单可以写前台网页,它还可以用来写后台的程序。 PHP的CLI Shell脚本适用于所有的PHP优势,使创建要么支持脚本或系统甚至与GUI应用程序的服务端,在Windows和Linux下都是支持PHP-CLI模式的。

  【优点】

1)使用多进程,子进程结束以后,内核会负责回收资源;

2)使用多进程,子进程异常退出不会导致整个进程Thread退出,父进程还有机会重建流程;

3)一个常驻主进程,只负责任务分发,逻辑更清楚。

  我们在Linux下经常使用"php –m"查找PHP安装了那些扩展就是PHP命令行运行模式;有兴趣的同学可以输入"php –h"去深入研究该运行模式。

1.4 模块模式

  模块模式是以mod_php5模块的形式集成,此时mod_php5模块的作用是接收Apache传递过来的PHP文件请求,并处理这些请求,然后将处理后的结果返回给Apache。如果我们在Apache启动前在其配置文件中配置好了PHP模块(mod_php5), PHP模块通过注册apache2的ap_hook_post_config挂钩,在Apache启动的时候启动此模块以接受PHP文件的请求。

  (网易云音乐CEO 朱一闻)

  

  直到今天,朱一闻仍然记得2013年1月的那个凌晨,那一夜他带领团队发布了:网易云音乐1.0版本,所有人都在刷微博看外界的评价,值得高兴的是:微博上所有人都在说云音乐特别好,这是一个跨时代的产品,颠覆性的产品……那一夜很多人刷了一个通宵的微博;

  “我们这一次有戏”,到这一刻,作为网易云音乐产品负责人的朱一闻心头大石终于落了地。

  

 

  (2014年5月,朱一闻在网易云音乐一周年庆上分享,网易云音乐的好口碑)

  站在2012年的历史背景下来看,要在2年内将一个音乐App做到过亿用户,这是绝对是一个艰难的任务;

  当时所有人都还停留在PC时代,音乐市场一片红海,模式雷同,巨头林立;移动互联网还只是一个偶尔出现在媒体上的新兴概念,iPhone4刚刚发布,还没用上智能手机的用户们依然习惯使用PC来听歌,根本没有使用移动流量or手机来播放音乐的意识与习惯,市场上的所有音乐APP体验也都非常可怕……外部市场基本不具备一切应该具备的条件,唯一拥有的就是:对移动互联网+全民社交化两大互联网趋势的笃信;

  那一年,是网易从互联网向移动互联网转型的关键一年,为了推动转型,丁磊一口气从市场上搞来了数百台联通合约机,分发给网易所有高管人手一部,并定期召开交流会,让高管之间分享交流关于移动互联网的想法与见闻……这种强大的转型推动,决定了云音乐从出身那天开始就是移动化定位的;

  转型是艰难的,产品的从0到1也是,如果照搬PC时代的曲库思路,网易云音乐必死无疑,但要转向移动,社交是一个方向,但对于音乐社交显然是个弱需求,核心需求还得回到音乐上,但要脱离传统思路找到一个新的对用户有价值的点,是困难的,朱一闻团队用了很长的时间来构思产品原型,项目7月份立项,但整个产品方案的成型是在数月之后;

  正是这几个月思考时间,让网易云音乐对传统的“曲库模式“的缺陷与问题进行深刻反思,从而一开始就踏上了和其他音乐平台截然不同的道路,并深刻的影响的今天的产业格局;

  在进行深入了解之前,对倪叔来说:网易云音乐只是众多音乐App中排名比较靠前的一个,而当倪叔了解完整,才明白:相比于传统的音乐App,网易云音乐是另一种不同的物种;

  

  2012年,在筹备网易云音乐的时候,朱一闻面试了一个酷我的产品经理,而被对方告知:酷我用户的80%都是使用本地音乐,这个数据将朱一闻吓了一跳,这意味着你有多少版权,联合多少歌星都没有用,因为对方很可能就是一次下好一百首歌,然后一辈子就听这一百首歌,每次打开听完本地音乐就关掉了……

  通过这次招聘,朱一闻明白了做曲库,做工具是没有出路的;

  曲库模式下,音乐站为用户提供的核心是:音乐的下载及试听服务,单薄的产品模式之下,催生了大量将音乐下载到本地,需要时才播放的用户习惯,而这样的用户习惯是没有活跃及访问深度可言的,App更多是作为一个提供下载的本地播放器而存在的,这样的模式背后的商业价值可想而知;

  唯有活跃的用户才具有价值,因而网易云音乐从诞生的第一天起,定位就不是工具产品。定位上的不同,所有的决策都是不同的。

  

 

  (2016年5月,朱一闻在知乎盐Club分享网易云音乐的音乐社区探索经验)

  举个简单的例子,网易云音乐产品的核心架构是歌单,而不是歌曲,歌单就是我创造的歌曲列表,它可以被其他人收藏、评论和分享。简单来说,如果有个跟我口味类似的朋友,我完全不需要自己做歌单,收藏好友的歌单听可以了,而且好友更新了歌单,我还会同步更新,这个架构天然就是基于社交的。

  网易云音乐1.0的Solgan叫做:发现好音乐,在朱一闻看来就是要把网易云音乐打造成:全网发现一首陌生的好音乐成本最低+社区氛围最浓的地方;

  发现一首自己没有听过的好音乐,就是很多用户使用网易云音乐的开始,在这里:不管是别人帮你制作好的歌单,还是DJ给你推荐一些歌曲,还是动态里面别人推荐你好的音乐,都可以最大程度的降低你发现一首好歌的成本。

  然后网易云音乐会把评论放在最显眼的入口上,你在听这首歌的时候就看一下评论。听到这个歌曲背后的故事,因为你不熟悉这首歌,所以你要发现这首歌背后的故事,这个时候就是一个非常完美的闭环。我从一个不熟悉的歌,我要知道它背后的故事,去找它的评论,看评论里面的故事。

  当你看到评论里面的故事,这时候你会发现不是我一个人在听歌,这么多人陪着我听歌,因为评论里大都是一些情感共鸣,而这些情感共鸣就造就了:一个社区的人情味;

  而这种:从歌单-评论-社区的整体架构带来的丰富产品体验,是远非一个播放器可以比拟的,当竞品还在持续70%以上的本地音乐使用率的时候,网易云音乐仅有1%的用户在每天使用本地音乐;

  而如此傲人的成绩,证明了:网易云音乐其战略及理念上的正确性;

  超越竞争思想,经由价值创新来获得新的空间的打法被称为蓝海战略,而在倪叔看来:网易云音乐从社交角度对在线音乐行业的解读与改造,就如同西南航空对航空业的了解与改造,虽然猛一看只是一些稍微不同的改变,一旦深究就会发现是处处不同,造就了价值链的重组

  

  在传统的平台运作逻辑里,平台运营者的核心在于:不调整集货和集客的天平两端,是以招徕更多商家+不间断的做营销来与用户产生沟通的,但朱一闻并不这样想;

  朱一闻有一个习惯:每天早上来公司之后,在看完了昨天的数据日报,就会打开微博搜索“网易云音乐”关键词,看微博上面用户的留言,一旦发现有任何问题都会第一时间联系对方看是否能为对方解决;

  这个习惯,他已经保持了3年了,而之所以这么做,是因为在他看来:直面用户的需求与问题是最为重要的工作方式;

  为了更好服务用户,他建立一个用户反馈后台,现在这个后台每天可以收到近10万条反馈,并对应有一个分工机制,将反馈分类,按照是属于产品建议还是技术bug等类别进行分流,交给相应的团队解决。但相比一般公司的服务流程,技术出身的朱一闻做的更为彻底:为加快效率,直接让技术人员去解决!

  你会看到网易云音乐里有很多特殊账号:无所不能的Android开发组,云音乐iOS开发组,云音乐web开发组,等这些大号就是云音乐技术人员自己和用户沟通,解决技术问题的手段。

  

 

  安卓端开发是最难的,各种试配,各种问题,经常崩溃,各种BUG,但云音乐的安卓端这样的问题会少很多,因为云音乐本着解决一个就少一个的思想,一直在做这个事情。所有的开发人员都去做这个事情,这样的话用户也觉得这个社区真的是有人情味的,很多人在帮自己解决问题。

  而且这样做,技术人员会觉得真的是这个地方做得不够好,未来要做得更好一点,因为用户在跟我沟通。我帮他解决问题的时候,心情也觉得很好。对整个团队来说,都是很重要的。

  在2014年8月,小米的全盛时期,黎万强出了一本《参与感》,其中的一个观点是:所有员工都是客服,所有员工都要参与客服这件事……而这个理念和朱一闻的工作理念是不谋而合的,网易云音乐从2013年上线的时候就开始这样工作。

  这样缓慢而细致的产品打磨工作,或许对于一些普通用户而言并没有多大的感知,但对于音乐的重度爱好者,他们是非常能感知和关注这些变化的,而网易云音乐从最开始就把市场重心放到这群种子用户身上。

  通过精耕细作,朱一闻顺利的留住“中国所有真正爱好音乐的资深用户群体”,他们比相比同类产品的用户,更年轻、有趣,互动意愿更强,对产品的参与度更高,也是更重度的音乐爱好者,最值得一提的是,他们有一定的音乐审美。所以云音乐的用户能够帮助社区创造内容,这些UGC内容包括评论、歌单、主播电台、专栏、动态等等,这是完全区别于竞品的内容。

  网易云音乐3.0版本,推出了一个大杀招:首页所有内容个性化,而这一步到现在所有的竞品都不敢跟进,因为这样的高度个性化推荐要基于海量的UGC内容,基于网易云音乐每天诞生的42万优质新歌单曲目的基础之上,而这些其他竟品是无力拥有的。

  众所周知,所有的音乐平台都想要做社交,但只有网易云音乐做成了,究其根源:在于大家从根子上就不是一套体系;

  

  当被问及用户已经2个亿了,下一步网易云音乐的下一个阶段有啥打算时?朱一闻给出一个出乎意料的答案:独立音乐人计划;

  自QQ音乐和CMC合并以降,谈及整个在线音乐行业,就无可避免的进入:拼爹模式视角,大家更相信主宰行业的是:资本与版权的力量,因此一时间各公司均打出了打造音乐全产业链路的说法,唯有此大家才能站到相同的层面来进行比较,但显然朱一闻给出的并不是一个关于的竞争视角的答案;

  但倪叔旋即明白了这种回答背后的深意:泡妞的核心在于妞喜欢什么?而非战胜情敌,业务策略的制定核心在于反映对市场的判断;

  在朱一闻看来:下一阶段音乐市场的核心逻辑是去中心化

  “近几年来大牌明星出现的是越来越少了。你现在听到的大牌音乐人还是几年前的陈奕迅、周杰伦,没有再新的出来了。新艺人冒出来的越来越少,为什么会这样?我们也在问这个问题,为什么会这样?

  我个人觉得,跟整个移动互联网的出现后用户的注意力分散是有关系的。因为之前我们只看电视,电视的频道有限而集中,我上一下春晚就火了。现在不是这样的,要做火一个人是很难的。现在音乐口味更加偏向于分众化和个性化,不同的人喜欢不同的音乐艺人,每个艺人都有一群自己的粉丝。在现在,一个艺人要能吸纳所有的粉丝,这个可能性很小啦,艺人粉丝都已经分群了。

  在这样的情况下,独立音乐人这个市场,我们未来判断是有希望的,因为它是一个非常个性化与去中心化的市场。比如现在很火的电音,国内电音氛围最活跃的就是网易云音乐。包括今年风暴音乐节,听说在上海办得特别好,行业都觉得电音的春天要到了。其实我们判断这件事情就是一个分众市场,它不可能成为一个主流的东西。但它在一群人里面发酵,而这个群体会越来越大,我们判断不会到周杰伦这样的地步,但它会变成一个有一定体量的垂市场。就像二次元,最近也很火,我们也觉得是一块垂直市场。

  这些市场大吗,以总量来看也不是很大,和周杰伦比起来都是很小的,但拆看来看其实用户量也不小。未来的音乐人市场就是一个非常分众,非常垂直的市场,不同的人喜欢不同类型的音乐,每个艺人都有一群自己的粉丝。我们觉得只要一个音乐人只要有1千个粉丝,他就能在这个平台上,或者在社会上活得很好。如果能做到这样,音乐产业就有希望了。我们想做到这件事情的目的是什么呢,就让这些人能够通过自己的努力,在社会上活得很好。

  分众市场,这就是我们下一个阶段对市场的判断;

  

  在倪叔看来:于群雄并立,产品模式高度同质化的在线音乐行业,要保持高增长是困难的,尤其在“版权越来越贵” “营销越来越难” 的双重背景之下,既缺少战略级用户入口,又没有海量版权预算支持的网易云音乐能够成功逆袭,其背后有大不易,但秘诀总结来总结去:只有社交两个字,但最可气的就是即使对方坦白的告诉你,你也无力抄袭无力模仿,这就是真正的核心竞争力!

  如《蓝海战略》所描述的那样,很多新的商业体与传统商业体相比似乎只有一块能力是具有特殊性的,但实际上那是两条完全不同的道路,机会和能力间,呈螺旋式上升成长;

  看到新的机会→培养新的能力→培养成新的能力→又会有空间看到更新的机会……一路螺旋式上升;

  将网易云音乐与其他音乐app区分开的,就是从2012年朱一闻和他的网易云音乐看到了:社交,这个新机会开始的;

  而4年后,朱一闻暮然回首,发现雪球已经滚的很大很大了。

影响Baidu只收录首页的缘由与解答

  前几天有个网友问我,他的站只收录首页,根据了解,一般新站刚收录的时候只收录首页是正常的,但是他告诉我他站已经建站一个多月,却还只收录一个首页,然后我site:sd009.cn百度的确收录只有一个首页面。

  对他这个站整体看,的确像一个垃圾站点,文字很密集给人的感觉也不是很好,相信用户体验应该也不会太好,据网上的一些资料显示百度对站点的收录把关是越来越严格了,他们现在多垃圾站点的收录可以检查的更加严格,开始我分析是他站采集的数据过多,同事没有原创性造成的百度收录很少,最后他说虽然有采集的,但是很多文章都是原创的,我想如果原创性的文字一般都很吸引蜘蛛的抓取的,那么这这个判断就不完全的。

  然后我从他的频道路线转到列表页,以及最终页的过程查看了下,发现他的频道标题“手机短信内容查询 ”在源代码中根本就检查不到,这次是最后百度只收录他站首页不收录其它页面的最终原因。因为他站可能是使用了iframe框架或者JS调用的导航的url在搜索引擎中屏蔽了,这样搜索引擎是完全抓取不到他们的频道页面以及列表页,到最终页面,当然就不会收录其它页面了。

  最后我建议这个网友吧对搜索引擎屏蔽的代码给改成正常的,符合搜索引擎抓取的程序。这个事实说明很多做开发的朋友,虽然他们对程序精通,但是往往会忽略到搜索引擎的爱好,有时候可能是为了程序的方便却弄巧成拙,让网站不能更好的被搜索引擎抓取。

  下面说下URL对搜索引擎的影响:

  还是拿他这个站点说,他站的频道文字很长,因此他选择用的列表页的目录URL是相当长的全拼,这样也是对搜索引擎抓取是很不利的,一般在抓取URL地址最好控制在60个字母以内,例如千雨日语网列表页:www.qianyuriyu.com/html/peixun/ 这只是列表页地址已经有30个字母,如果是最终页地址,还会在列表页后面继续延伸URL字母就会增长,所以在列表的地址时候就不能像他的那个站一样吧吧频道的url设置的超长,否则最终页URL肯定就超过了60个字母的极限,这个是都搜索引擎的抓取不好的。

  下面还有一种只收录一个页面的问题:

  例如58的频道页面:以北京房产为例:bj.58.com/house.shtml 这页面其实是使用了静态页面转化对搜索引擎抓取是很友好的,这个页面相当是直接用site:去查收录是查不到的,在静态页面我们一般查收录直接把URL地址放到baidu搜索框中回车就可以看到结果,大家可以拿这个频道页面地址去site发现收录只有一个页面对吧!但是这个是使用了静态的转化,其实收录页面是相当可观的,大家可以打开这个房产频道,里面还包含了“租房频道,求租,日租等等小的类表”大家可以再site:/bj.58.com/zufang/ 这个租房列表的百度收录目前显示的3800000篇,数字是相对很大的,而且这个只是房产频道中的一个小类的收录,房产包含了很多这样的小类,加起来的收录才是房产静态地址的总收录数字,是相当可观。

  很多朋友做连接的时候都喜欢看收录越多越好,其实在这里大家可以思考下到底房产静态页面做连接好呢?好是类表中的链接的效果更好呢?呵呵 这里我就不多说了,大家可以自己判断的。

  大家可以看见,很多网站只收录一个页面,这种静态页面也是收录一个页面,但是意义完全不同的,在这里还有很多类似的站点只收录一个页面的情况,导航站一般收录篇数普遍是比资讯类型的收录少的,这个大家可以到时候评估下。

http://alt.kvov.com.cn/jzxx35248.html

今日推荐知识库
励志名言
想教学生如何正派为人,教师应先从自己正派为人做起。
语录
生活再不如人意,都要学会自我温暖和慰藉,给自己多一点欣赏和鼓励。生活就是童话,只要心存美好,结局就会是美好。
经典语录
江山如此多娇,小三如此风骚。
解梦
梦见断掉的匕首,预示自己在近期所做的事情,不论是工作、生活上、感情上的事,只要自己推动的都不会有结果,全部无疾而终。
经典语录
别人有的是气质,而你有的是杂质。