登录  /  注册
博主信息
博文 23
粉丝 1
评论 0
访问量 16534
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
6月3日课件
布衣大汉的博客
原创
662人浏览过

# Lesson1: PHP 运行原理


## 1 常用术语


* http: 基于请求与响应机制的, 超文本传输协议

* html: 超文本标记语言

* php: 超文本预处理语言, 其实就是用生自动生成html文档的工具


* Apache/Nginx: Web服务器软件

* php.exe: php解释器


## 2 主机/客户端/服务器


* 主机: 本地主机(客户端),  远程主机(服务器)

* IP: 网络中的主机标识符, 有数字与字符串二种表示方法

* IP地址与主机名:如果是本地主机,IP是127.0.0.1,主机名(标识符为):localhost


* 客户端: 一台安装了浏览器或者其它可以访问网站软件的电脑

* 请求: 客户端发起的http请求(url请求),例如通过浏览器地址栏,或者终端命令

* 客户端和服务器可以是同一台电脑,此时,服务器的地址就是: 127.0.0.1/localhost


* 服务器: 一台安装了Web软件的电脑,就是一台可提供Web访问的服务器

* 响应: 通过指定的端口80,来响应客户端发送到过http请求

* 端口: 服务器可以端口对外提供的各种服务,例如http:80, ftp:21,email:25...


## 3 CGI协议/CGI脚本/Zend虚拟机


* Web服务器: 默认只能处理静态请求,如: html,遇到动态请求,如php,jsp...无能为力

* web应用程序: 这些动态请求,例如php,jsp..., 就是传说中的Web应用程序

* CGI: 通用网关接口, 是web服务器与web应用程序之间通信规范, 没错, 与http一样,也是协议

* CGI脚本: 其实就是 php程序,例如: index.php

* Zend虚拟机: 其实就是php程序的解释器, 可理解为php.exe,用来执行php程序

  

## 4 php运行流程


1. 客户通过浏览器发出http请求: index.php, 访问一个Web应用程序

2. web服务器接受到这个请求,发现是访问Web应用程序,于是通过CGI协议,转发给Zend虚拟机处理

3. CGI启动Zend虚拟机,对php脚本进行解析并执行,执行完毕输出html,并关闭Zend虚拟机

4. CGI将执行结果返回到web服务器, 并由它返回到客户端, 最终完成一个完整的http请求响应过程


## 5 提升自己: PHP-CGI 原理


每种web应用程序都有对应的CGI,php对应的是: php-cgi,它的执行流程大致如下:


1. 初始化php的各种变量

2. 调用并初始化: Zend虚拟机

3. 加载并解析: php.ini

4. 激活: Zend

  4.1 Zend加载php程序,做词法/语法分析

  4.2 编译生成:opcode,并执行

  4.3 输出结果

  4.4 关闭: Zend

5. 将结果返回: web 服务器


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2024 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学