php index.php修改之后未生效

PHP项目修改了index.php 里面的代码,提交服务器之后,代码功能未生效,

解决办法:重启fpm

命令如下:

 /etc/init.d/php5-fpm restart

原因需要了解一下下面的东东:

1、CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者。

当web server(比如说nginx)收到/index.php这个请求后,会启动对应的CGI程序,这里就是PHP的解析器。接下来PHP解析器会解析php.ini文件,初始化执行环境,然后处理请求,再以规定CGI规定的格式返回处理后的结果,退出进程。web server再把结果返回给浏览器。CGI是个协议,跟进程什么的没关系。

2、Fastcgi是用来提高CGI程序性能的。

那么CGI程序的性能问题在哪呢?"PHP解析器会解析php.ini文件,初始化执行环境",就是这里了。标准的CGI对每个请求都会执行这些步骤(不闲累啊!启动进程很累的说!),所以处理每个时间的时间会比较长。这明显不合理嘛!那么Fastcgi是怎么做的呢?首先,Fastcgi会先启一个master,解析配置文件,初始化执行环境,然后再启动多个worker。当请求过来时,master会传递给一个worker,然后立即可以接受下一个请求。这样就避免了重复的劳动,效率自然是高。而且当worker不够用时,master可以根据配置预先启动几个worker等着;当然空闲worker太多时,也会停掉一些,这样就提高了性能,也节约了资源。这就是fastcgi的对进程的管理。

3、PHP-FPM是一个实现了Fastcgi的程序

php-cgi只是个CGI程序,他自己本身只能解析请求,返回结果,不会进程管理,php_fpm就是调度php-cgi进程的程序;php-fpm的管理对象是php-cgi。但不能说php-fpm是fastcgi进程的管理器,因为前面说了fastcgi是个协议,似乎没有这么个进程存在,就算存在php-fpm也管理不了他(至少目前是)。

参考链接: http://www.mike.org.cn/articles/what-is-cgi-fastcgi-php-fpm-spawn-fcgi/

最新文章

  1. 原创:从零开始,微信小程序新手入门宝典《一》
  2. 1.3 Content Provider
  3. atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
  4. 遍历Dataset并输出数据实例
  5. 获取Ip 的地域等信息接口-实例
  6. android-'Using 1.7 requires compiling with Android 4.4 (KitKat); currently using API 8'
  7. ArcGIS Server Manager登陆不了
  8. 提高jQuery执行效率
  9. tomcat 系统服务 outofmemory
  10. 普通的年轻状态机,纯C语言
  11. 做一个自动修改本机IP和mac的bat文件
  12. python3 字符串操作相关函数
  13. Hyperledger Fabric Membership Service Providers (MSP)——成员服务
  14. 小甲鱼OD学习第8讲
  15. cookie 就是一些字符串信息
  16. 二.Rsync备份服务
  17. 一张图总结html5新特性
  18. 【UOJ #206】【APIO 2016】Gap
  19. Python turtle绘图实例分析
  20. Django 入门项目案例开发(下)——创建项目应用及模型类

热门文章

  1. CodeChef March Challenge 2019题解
  2. php性能优化三(PHP语言本身)
  3. node-redis模块需要注意的事项
  4. Java NIO学习与记录(二):FileChannel与Buffer用法与说明
  5. [性能测试]:记录一次性能测试,nmon文件收集工具的小问题
  6. mongoengine在python中的使用
  7. JDK下载安装以及环境变量的配置
  8. 数学还勉强管用,用代码还能画个canvas 仪表盘(含完整代码)
  9. javascript中prototype与__proto__
  10. 【Qt开发】常用控件--QLineEdit