企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### 1、`PHP` 是什么 >[info] :-: PHP(Hypertext Preprocessor 超文本预处理器) 的简称 * PHP是通用的,免费开源的,运行在服务器端的脚本编程语言 * 通用:指跨平台,如:Windows、Linux、MacOS * 免费:意味着你不必为PHP花一分钱,哪怕用在商业项目中 * 开源:意味着你可以轻松获取全部源代码,并进行定制或扩展 * 服务器端:意味着你必须将它安装在服务器环境下才可以使用 * 脚本语言:意味着与JS一样,也是解释型语言,按编写顺序执行 ***** ### 2、`PHP` 能做什么 * 可以快速动态的生成HTML页面 * 可以返回前端需要的各种类型的数据 * 可以高效安全的处理表单数据 * 可以控制与客户端的会话( Cookie/Session ) * 可以安全的操作服务器上的文件 * 可以对用户的行为进行授权控制 * 可以高效安全的操作各种类型的数据库 * 通过扩展,可以实现加密,压缩等其他功能 * 可以提供接口数据,包括:小程序、APP、等其他语言 ***** ### 3、 学习 `PHP` 需要什么基础 >[danger] HTML:超文本标记语言 > CSS:层叠样式表 > JavaScript:前端脚本编程语言 ***** ### 4、 `PHP` 文件中有什么 * PHP文件,必须使用 `.php` 为后缀名 * PHP文件在服务器上执行,最终以HTML或字符串格式返回 * PHP文件中除了有PHP代码外,还可以有: * HTML代码 * CSS代码 * JavaScript代码 * 纯文本 ***** ### 5、`PHP` 的优势 >[danger] PHP 简单易学,上手快 > PHP 开发效率高,开发成本低 > PHP 执行效率高、安全性好、功能强大 > PHP 支持多种平台服务器:`Linux` `Windows` `Unix` 服务器数量不受限制 ***** ## :-: 二、`PHP` 运行原理 ### 1、常用术语 * http :基于请求与响应机制的, 超文本传输协议 * 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... ![主机/客户端/服务器](http://kanyun.8car.net/php/port1.jpeg) ***** ### 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请求响应过程 ![php运行流程](http://kanyun.8car.net/php/php_run.png) ***** ### 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 服务器