全面解读php-开发环境及配置
一、版本控制软件
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-开发环境及配置的更多相关文章
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- 20145213《信息安全系统设计基础》实验一 Linux开发环境的配置
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:1452 姓名: 黄亚奇 祁玮 学号:20145213 20145222 成绩: 指导教师:娄嘉鹏 实验日期:2016 ...
- Windows平台下PHP开发环境的配置
Windows平台下PHP开发环境的配置 一.基本环境 1.Windows XP 32位 2.Apache 2.2.25,下载地址:http://mirror.bit.edu.cn/apache/ht ...
- 信息安全系统设计基础实验一:Linux开发环境的配置和使用
北京电子科技学院(BESTI) 实验报告 课程:信息安全系统设计基础 班级:1353 姓名:芦畅 傅冬菁 学号:20135308 20135311 成绩: 指导教师:娄家鹏 ...
- Web开发中运行环境的配置:(Tomcat7.0.59)和开发环境的配置
第一部分:运行环境的配置 1.下载压缩包,解压即可 2.配置系统变量JAVA_HOME为jdk的安装路径 3.如有需要修改端口号,比如8080已被占用的时候,可以将其改为9080等 apache-to ...
- 在CodeBlocks 开发环境中配置使用OpenCV (ubuntu系统)
CodeBlocks是一个开放源代码的全功能的跨平台C/C++集成开发环境.CodeBlocks由纯粹的C++语言开发完毕,它使用了蓍名的图形界面库wxWidgets.对于追求完美的C++程序猿,再也 ...
- Windows7 x64 跨平台开发环境安装配置
======================================================================= Windows7 x64 跨平台开发环境安装配置 201 ...
- Linux(Ubuntu 16) 下Java开发环境的配置(二)------Tomcat的配置及常见问题
前言 相比于java JDK的配置,Tomcat的配置简单的多,简直就相当于直接运行了,本文以Tomcat8.0为例进行配置 1.Tomcat的下载 地址:https://tomcat.apach ...
- 一个电脑的重装到java开发环境安装配置的全过程
刚拿到一台别人用过的电脑.看着c盘爆满,而且用了还是windows7操作系统,强迫症发作马上就准备重装系统. 之前换固态使用wepe制作U盘启动盘装系统的步骤和过程全部忘记的,贼尴尬. 同事都看不过眼 ...
- QT开发环境安装配置教程
QT开发环境安装配置教程 分类: QT2012-11-29 23:31 35366人阅读 评论(12) 收藏 举报 Linux版的直接在ubutnu软件中心输入QT,安装响应的Designer,Cre ...
随机推荐
- PostgreSQL 自增主键
1.自增主键:2.创建序列 一.使用SERIAL自增主键 create table test_no( id SERIAL primary key, name ) ); 二.创建序列 INCREMENT ...
- Mybatis常见面试题总结
1.#{}和${}的区别是什么? ${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态替换为com.mysql.jdbc. ...
- nginx学习第三章
一.系统环境 ubuntu6.4系统 nginx 版本: nginx/1.10.3 (Ubuntu). 二.打开目录浏览功能Nginx默认是不允许列出整个目录的.如需此功能,编辑虚拟主机配置文件,在l ...
- Linux系统下C语言获取Time
获取时间的函数有很多,具体包括如下: time()/gettimeofday()等等,下面是获取具体到usecond的时间程序: #include <iostream> #include ...
- 【有钱的大佬看过来】Java开发学习大纲
Java开发学习大纲文档V7.0 有钱的大佬可以买下这个版权,全网最完整最详细了,没钱的大佬可以按照自己的方式去整理.有需要的私聊作者QQ:253173641 来源于-幸福的沉淀:https://ww ...
- hive创建分区表
#创建分区表CREATE TABLE if not exists data_center.test_partition (id int,name string,age int)PARTITIONED ...
- 【2019银川网络赛】L:Continuous Intervals
题目大意:给定一个长度为 N 的序列,定义连续区间 [l, r] 为:序列的一段子区间,满足 [l, r] 中的元素从小到大排序后,任意相邻两项的差值不超过1.求一共有多少个连续区间. 题解:单调栈 ...
- 【HDU5890】Eighty seven
题目大意:给定 N 个数,M 个询问,每次询问如果去掉三个数(可能相同),能否选择恰好 10 个数字,凑出 87 这个数. 题解:骚操作.. 集合凑数问题是一个很经典的模型,即:背包问题. 先进行预处 ...
- mysql怎么查看数据库中表的大小
查看mysql数据库大小的四种办法,分别有以下四种:第一种:进去指定schema 数据库(存放了其他的数据库的信息)use information_schema第二种:查询所有数据的大小select ...
- Aspect表达式
任意公共方法的执行:execution(public * *(..))任何一个以“set”开始的方法的执行:execution(* set*(..))AccountService 接口的任意方法的执行 ...