全面解读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

 

posted @ 2019-07-17 22:16  Chrdai  阅读(281)  评论(0编辑  收藏  举报