千家信息网

PHP的运行和多人开发环境原理

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要介绍"PHP的运行和多人开发环境原理",在日常操作中,相信很多人在PHP的运行和多人开发环境原理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PHP的运行和
千家信息网最后更新 2025年01月19日PHP的运行和多人开发环境原理

这篇文章主要介绍"PHP的运行和多人开发环境原理",在日常操作中,相信很多人在PHP的运行和多人开发环境原理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"PHP的运行和多人开发环境原理"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

PHP运行原理

首先我们来分析下 PHP 的运行原理,看看 PHP 的语言特点。当我们从浏览器发起一个请求,我们的web服务器(Nginx、Apache等)监听了80或者443端口,我们来看一个最简单的 Nginx 的 vhost 配置:

server { listen    80; server_name test.com;  root /data/gateway/html; index  index.php; location ~ \.php$ {  fastcgi_pass  127.0.0.1:9001; #unix:/Users/run/php-fcgi.sock;  fastcgi_index index.php;  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  include    fastcgi_params; }}

Nginx 监听80端口,当匹配到用户访问的域名是test.com后使用对应的 vhost 配置。在服务器里PHP-FPM起一个服务,监听一个端口(比如9001)或者一个unix socket,Nginx通过fastcgi_pass配置,将请求传递给 PHP-FPM 来解析PHP代码,PHP解析器每次从index.php开始解析,一路处理下去、做一系列的逻辑处理、查询数据库或者缓存等操作,返回一个 HTML 或者其他结果给 Nginx,Nginx 再返回给浏览器。流程如下图:

CGI:是 Nginx 与 PHP_FPM 之间数据交换的一种协议。

FastCGI:同 CGI,是一种通信协议,但比 CGI 在效率上做了一些优化。

PHP-CGI:是 PHP 对 Nginx 提供的 CGI 协议的接口程序。

PHP-FPM:是 PHP 对 Nginx 提供的 FastCGI 协议的接口程序,额外还提供了相对智能一些任务管理。

多人开发环境

从 PHP 原理我们可以看到,PHP其实只是一个解释型的脚本语言,每次请求都要从index.php解析一次,那我们是不是可以在服务器根据不同开发者的名字,命名很多个文件夹,在各自文件夹里,clone 好代码仓库,切换到自己的分支。再让 Nginx 处理每个人目录下的index就可以了。比如直接访问http://wulv.test.com/,在 Nginx 获取到 wulv,把 root 设置到 wulv 这个目录,这样就访问到 wulv 这个目录下的代码了。可以让 Nginx 这样设置:

set $who www;if ($http_who != "") {  set $who $http_who;}root /data/gateway/$who/html;

我们可以让 URL 里携带用户的目录,在 Nginx 截取下来,可以在一下几个地方携带:

host: http://wulv.test.com

path: http://www.test.com/wulv

query: http://www.test.com?http_who=wulv

这样大体上可以实现需求了,但还是有点问题,比如页面里有些链接是写死的,没有使用相对路径,你一点击就又跑 www.test.com 去了,或者有些第三方应用比如 OAuth 等需要校验域名,你和线上域名不一致根本无法登陆。所以需要其他方式来实现,比如:

http request header

cookie

我们可以使用Modify Headers这个浏览器插件,修改http request 头信息,设置一个参数 http_who 为 wulv,然后在 Nginx 获取。

到此,关于"PHP的运行和多人开发环境原理"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

原理 开发 运行 多人 环境 目录 学习 服务 代码 域名 服务器 浏览器 端口 处理 浏览 监听 配置 接口 数据 文件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 激活畅连时服务器异常 金山区营销软件开发报价表 邮储总行软件开发 湖北特立信网络技术有限公司 特立信网络技术有限公司 数据库中怎样进行角色的创建 为何光遇服务器会登录失败 win10未启用对服务器的访问 无领导小组面试5G网络安全 隧道式血压计健康管理软件开发 云南南软件开发有限公司 服务器共享文件夹和电脑同步 迅腾网络安全ppt 欧卡2搜不到欧二服务器 七日杀服务器地图能改大吗 地球仪吉他谱软件开发 php如何自己管理服务器 浦发ukey连接浦发银行服务器失败 db2怎样看数据库名 泰坦陨落服务器抽风 高防服务器就搜光算云 中国优秀硕士学位论文数据库类型 咸宁市中小学网络安全教育 网络技术有限公司税收多少 中行有几个软件开发中心 数据库安全关键 软件开发各种visio图 蒙商银行服务器招标文件 无线网络技术11章课后题 三五网络安全科技馆
0