一、版本控制软件

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. VUE实现国际化

    一.前言 趁着11月的最后一天,来写一篇关于前端国际化的实践型博客.国际化应该都不陌生,就是一个网站.应用可以实现语言的切换. 在这就不谈原理,只说说如何实现中英文的切换.做技术的总得先把 demo ...

  2. Cesium-entiy闪烁范例

    // name:"圆闪烁", function f1() { var x=1; var flog=true; viewer.entities.add({ name:"圆形 ...

  3. python 有用的库

    1.Faker pip3 install faker官网: https://faker.readthedocs.io/en/master/providers.htmlgithub: https://g ...

  4. Dubbo 03 Restful风格的API

    目录 Dubbo03 restful风格的API 根路径 协议 版本 用HTTP协议里的动词来实现资源的增删改查 用例 swagger(丝袜哥) OpenAPI 资源 编写API文档 整合Spring ...

  5. C#和Java的最大不同

    本文摘抄自知乎. 作者:匿名用户链接:https://www.zhihu.com/question/20451584/answer/27163009来源:知乎著作权归作者所有.商业转载请联系作者获得授 ...

  6. zencart批量设置热卖商品 best seller、点击最高最受欢迎产品 most popular

    zencart批量设置某分类下热卖商品数 best seller ; ,,,,,); zencart批量设置某产品点击最高最受欢迎产品 most popular ; ,,,,,);

  7. 记录一个url_for的用法

    使用url_for生成url时,需要将url协议从http换成https时,就可以通过在函数中增加参数实现: url_for('secure_thingy', _external=True, _sch ...

  8. TCP/IP超详细总结

    网络的基础知识 一.协议 1.简介: 在计算机网络与信息通信领域里,人们经常提及“协议”一词.互联网中常用的具有代表性的协议有IP.TCP.HTTP等.而LAN(局域网)中常用的协议有IPX/SPX” ...

  9. VMware Horizon Client剪贴板异常问题解决

    接到用户反馈现象是:登录ERP系统操作是,无法复制粘贴本地电脑上的数据. 处理过程: 1.在域控服务器上建立独立的Horizon Computer OU,把所有RDS加入在改OU中 2.针对Horiz ...

  10. 入门Leaflet之小Demo

    入门Leaflet之小Demo 写在前面 ---- WebGIS开发基础之Leaflet GIS基本概念:GIS.Map.Layer.Feature.Geometry.Symbol.Data(Poin ...