
(如果是安装包,可以直接安装,则以下 *** 作基本上可以忽略。但为了更好的安全性,建议采用压缩包自己安装配置有关参数)
2. 将下载的php5.0压缩包解压到指定位置,如为C:\PHP5
3. 在c:\php5文件夹中,用记事本打开文件php.ini-dist,修改如下内容后“另存为...”php.ini文件
(1)查找到safe_mode = 段落,将safe_mode = Off修改为safe_mode = On
(2)查找到expose_php = On段落,将expose_php = On修改为expose_php = Off
(3)查找到display_errors = On段落,将display_errors = On修改为display_errors = Off
(4)查找到extension_dir = 段落,设置动态库扩展的路径,如extension_dir = c:\php5\ext
(5)查找到 cgi.force_redirect = 1段落,修改为 cgi.force_redirect = 0
提示:(4)和(5)是必须做的。记着要另存为php.ini
4. 将编辑好的php.ini文件剪切到Windows安装文件夹下(如:C:\Winnt 或 C:\Windows)
5. 在IIS中,选择要使用PHP的站点,右键菜单中选择“属性”,选择“主目录”标签,在该界面中点“配置”,添加或重新编辑php扩展的“应用程序扩展名映射”,可执行文件选择为C:\php5\php5isapi.dll,扩展名为php,确定应用后退出IIS配置
6. 停止IIS的WEB站点,并重新启动该站点。
提示:如果是Windows 2003,应增加WEB扩展,将PHP置为允许
php作为排名top2 互联网开发工具,非常流行,可以参考:中国最大的25个网站采用技术选型方案
php这个名称实际上有两层含义
直接定义:
php-fpm从php5.3.3开始已经进入到php源代码包,之前是作为patch存在的
很少人会去读php本身源代码,我6年前解决php内存泄露问题的时候做了些研究,最近再查看了一番,发现php的开发者很有诚意,这是一款非常出色的服务器软件,支持如下
在linux服务器上,如果不设置 events.mechanism ,那么默认就是采用epoll,所以
php-fpm的IO模型&并发处理能力和nginx是完全一致
nginx以性能卓越闻名,大部分程序员都认为php效率低下,看了源代码,才知道这是传奇啊
在高性能部署的时候,大家往往会针对性的优化nginx 。我自己之前部署php程序也犯了错误,8G内存的server,php-fpm的max children都会设置128+,现在看来太多了,参考nginx的部署:
php-fpm配置为 3倍 cpu core number就可以了
php-fpm稳定性比nginx稍差 这是因为php-fpm内置了一个php解析器,php-fpm进程就和php程序捆绑了,如果php脚本写得不好,有死循环或者阻塞在某个远端资源上,会拖累加载它的php-fpm进程
而nginx和后端应用服务器之间通过网络连接,可以设置timeout,不容易堵死的
php-fpm的fastcgi是短连接 我原以为是长连接的,看了代码才知道也是短连接,处理一个request就关闭掉
php-fpm接口采用fastcgi 非常遗憾,php-fpm和fastcgi完全绑定了,无法独立使用 。只能部署在支持http-fcgi协议转换程序背后(nginx)。其实可以考虑在php-fpm代码包里面引入http协议支持,这样php-fpm可以独立运行,让nodejs无话可说
php-fpm等同于OpenResty OpenResty是一个国人开发的nginx模块,就是在nginx引入lua解释器. 实际上,它和php-fpm的唯一差别就是一个采用php语法,一个用lua,所以OpenResty要作为nginx增强包使用还可以,要选择它作为一个主要编程工具,没有任何必要
从架构上来说,php-fpm已经做到最好,超过大多数 python部署工具,我再也不黑它了
有些可以通过调用对应的功能或扩展提供的版本函数.比如php,它自身提供了phpversion(),它会返回当前的php版本,再进去判断就可以了.同样mysql也提供了类似的函数,如mysql_get_server_info等.当然也可以通过调用phpinfo()到内存缓存区后读取并分析需要的扩展的版本来判断.此功能需要使用ob_start()和ob_get_contents()的配合.欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)