一、版本控制软件

1、集中式 (CVS和 SVN)

中间有一个中央服务器,所有的客户机都会把版本信息上传到中央服务器里,版本信息只在中央服务器里保存,当我们去上传或者下载的时候 ,都是从中央服务器来连接,一旦中央服务器挂掉,客户机就没办法下载和上传版本相关的内容,客户就需要连接网络才能上传和下载。

2、分布式 (Git)

相比集中式更加方便,没有中央服务器,一个版本控制器,每一个版本控制下的客户机都有一套完整的版本控制信息,所以分布式的容灾星更好,而且不用去连接网络。

二、PHP的运行原理

Nginx + PHP-FPM 运行原理

1、CGI

CGI: 通用网关接口(Common Gateway Interface/CGI),是语言解析器和WEB Server之间的通信的桥梁。

处理PHP需要交给PHP解析器来进行处理,PHP处理完之后和WebServer进行通信,为了解决不同的语言和WEB Server之间的通信,只要按照CGI协议来编写程序,就能实现语言解析器和WEB Server之间的通信

CGI的缺点:但是CGI的效率很低,因为CGI每收到一个请求都会fork一个CGI进程,当请求结束时在Kill掉该进程,这样就非常浪费资源,所以效率很低

2、FAST-CGI

FAST-CGI:CGI的改良版,FAST-CGI每次处理完请求后不会Kill掉进程,而是保留该进程,使该进程可以处理多个请求,这样就大大提升了效率。

3、PHP-FPM

PHP-FPM:PHP-FASTCGI Process Manager :PHP的FAST-CGI进程管理器。进程包括master进程(主进程)和worker进程(工作进程),master进程只有一个,负责监听端口,接收来自web server的请求,而worker进程一般会有多个,具体的个数需要在FPM的配置中进行定义,每一个进程内部都会嵌入到一个PHP解析器(php代码真正执行的地方),worker进程来处理我们的PHP代码,master监听端口默认是9000,通过Nginx的反向代理来代理端口,从而完成FPM的相关处理。

三、PHP常见配置项

1、register_globals: 注册全局变量,建议一直关闭。

2、allow_url_fopen: 是否允许打开远程文件。

3、allow_url_include: 是否允许包含远程文件。

4、date_timezone: 设置时区。

5、display_errors: 是否显示错误,开发环境需要打开。

6、error_reporting: 显示错误级别蛇者。

7、safe_mode:是否开启安全模式。

8、upload_max_filesize: 限制上传文件的大小。

9、max_file_uploads:上传的最大文件数量。

10、post_max_size:提交的post数据的最大大小。

本文为袋鼠学习中的总结,如有转载请注明出处:https://www.cnblogs.com/chrdai/p/11198171.html

全面解读php-开发环境及配置的更多相关文章

  1. Linux安装LAMP开发环境及配置文件管理

    Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...

  2. 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置

    北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...

  3. Windows平台下PHP开发环境的配置

    Windows平台下PHP开发环境的配置 一.基本环境 1.Windows XP 32位 2.Apache 2.2.25,下载地址:http://mirror.bit.edu.cn/apache/ht ...

  4. 信息安全系统设计基础实验一:Linux开发环境的配置和使用

    北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础    班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩:       指导教师:娄家鹏      ...

  5. Web开发中运行环境的配置:(Tomcat7.0.59)和开发环境的配置

    第一部分:运行环境的配置 1.下载压缩包,解压即可 2.配置系统变量JAVA_HOME为jdk的安装路径 3.如有需要修改端口号,比如8080已被占用的时候,可以将其改为9080等 apache-to ...

  6. 在CodeBlocks 开发环境中配置使用OpenCV (ubuntu系统)

    CodeBlocks是一个开放源代码的全功能的跨平台C/C++集成开发环境.CodeBlocks由纯粹的C++语言开发完毕,它使用了蓍名的图形界面库wxWidgets.对于追求完美的C++程序猿,再也 ...

  7. Windows7 x64 跨平台开发环境安装配置

    ======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...

  8. Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题

    前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置   1.Tomcat的下载 地址:https://tomcat.apach ...

  9. 一个电脑的重装到java开发环境安装配置的全过程

    刚拿到一台别人用过的电脑.看着c盘爆满,而且用了还是windows7操作系统,强迫症发作马上就准备重装系统. 之前换固态使用wepe制作U盘启动盘装系统的步骤和过程全部忘记的,贼尴尬. 同事都看不过眼 ...

  10. QT开发环境安装配置教程

    QT开发环境安装配置教程 分类: QT2012-11-29 23:31 35366人阅读 评论(12) 收藏 举报 Linux版的直接在ubutnu软件中心输入QT,安装响应的Designer,Cre ...

随机推荐

  1. scrapy-redis 实现分布式爬虫

    分布式爬虫 一 介绍 原来scrapy的Scheduler维护的是本机的任务队列(存放Request对象及其回调函数等信息)+本机的去重队列(存放访问过的url地址) 所以实现分布式爬取的关键就是,找 ...

  2. Delphi 适合于文本文件的基本操作

  3. C#异步编程研究学习(一)

    可以使用Func<T>或者Action<T>简单实现如: Func<string, string,string,string, int> func = new Fu ...

  4. Tree HDU - 6547 (树链剖分,线段树)

    wls 有三棵树,树上每个节点都有一个值 ai,现在有 2 种操作: 将一条链上的所有节点的值开根号向下取整: 求一条链上值的和: 链的定义是两点之间的最短路. Input 第一行两个数 n, q 分 ...

  5. Summer training round2 #3

    A!:                    GTY系列题 B!:莫队加分块  GTY系列题 C!:线段树模拟拓扑排序(把普通的拓扑排序的栈操作改成线段树区间减一,查询区间最右侧的0的位置即可.注意一 ...

  6. 关于@wraps(fn)

  7. mysql 调优 来自5.6版本官方手册

    注意:下面示例中的key1和key2代表两个索引,key_part1和key_part2代表一个复合索引的第一列和第二列.non_key代表非索引列. 优化SQL语句 where语句优化: mysql ...

  8. Java文档查看

    对于Java学习者来说,阅读Java文档是必不可少的步骤,比如我现在想知道List接口的retianAll()方法,该怎么办呢? 当然是百度了!!! 皮一下,当然是查找Java文档了,以JDK1.7版 ...

  9. DevExpress ASP.NET Bootstrap v19.1版本亮点:Scheduler控件

    行业领先的.NET界面控件DevExpress 正式发布了v19.1版本,本文将以系列文章的方式为大家介绍DevExpress ASP.NET Bootstrap Controls中Rich Text ...

  10. python1-集合、函数(全局变量与局部变量)

    集合(set) # s=set('hello')# print(s)## s=set(['alex','alex','sb'])# print(s) # s={1,2,3,4,5,6} #添加# s. ...