首页 理论教育 平台开发:LAMP与PHP技术完美执行客户端请求

平台开发:LAMP与PHP技术完美执行客户端请求

时间:2023-10-22 理论教育 版权反馈
【摘要】:LAMP负责提供70%以上的访问流量,而PHP相关技术配合先进的文本开发管理工具,完整地执行了客户端的访问请求过程。图1Apache架构图1.2超文本预处理器PHPPHP是一种通用开源脚本语言,混合了C、Java、Perl的语法以及PHP自创的语法。PHP是在smarty模板的环境下开发的。图2smarty模板目录结构1.3Mysql架构Mysql架构分为三层:第一层主要是连接处理、授权认证、安全等。

平台开发:LAMP与PHP技术完美执行客户端请求

随着网络的发展,开放源代码的LAMP已经与J2EE、Net商业软件形成三足鼎立之势。利用Linux+Apache+Mysql+PHP搭建动态网站或者服务器的开源软件,共同组成了一个强大的Web应用程序平台。LAMP负责提供70%以上的访问流量,而PHP相关技术配合先进的文本开发管理工具,完整地执行了客户端的访问请求过程。

1.1 Apache架构

作为世界上最流行的Web服务器,Apache支持最新的HTTP/1.1通信协议,默认端口号为80。它完全兼容HTTP/1.1协议,并与HTTP/1.0协议向后兼容,几乎可以在所有的计算机操作系统上运行,包括主流的UNIX、Linux及Windows操作系统。其配置文件简单,易操作。

Apache有以下功能:①支持实时监视服务器状态和定制服务器日志;②支持多种方式的HTTP认证和Web目录修改;③支持Perl、PHP等CGI脚本;④支持服务器端包含指令(SSI)、安全Socket层(SSL)及Fast CGI;⑤支持虚拟主机及虚拟主机服务;⑥跟踪用户会话,并支持动态共享对象;⑦支持多进程及第三方软件开发商提供的功能模块;⑧支持线程和多进程混合模型的MPM。图1为Apache架构图。

图1 Apache架构图

1.2 超文本预处理器PHP

PHP是一种通用开源脚本语言,混合了C、Java、Perl的语法以及PHP自创的语法。它将程序嵌入HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多。PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快[4]。(www.xing528.com)

PHP是在smarty模板的环境下开发的。smarty模板通过index.php的入口文件,对smarty控制器文件生成一个PHP格式的编译文件。当缓存机制未开启时,浏览器会读取这个编译文件并显示出来;当开启缓存机制时,smarty控制器会生成一个静态HTML页面,即缓存文件com_index.tpl,这样浏览器读取性能更高。smarty模板目录结构如图2所示。

图2 smarty模板目录结构

1.3 Mysql架构

Mysql架构分为三层:第一层主要是连接处理、授权认证、安全等。第二层是Mysql的核心服务功能所在的层次,包括查询解析、分析、优化、缓存以及所有的内置函数。第三层包括了存储引擎,负责Mysql中数据的存储和提取。服务器通过API与存储引擎进行通信,这些接口屏蔽了不同存储引擎之间的差异,使得这些差异对上层的查询过程透明。存储引擎API包含几十个底层函数,用于执行诸如“开始一个事务”或者“根据主键提取一行记录”等操作[5]

每个客户端连接都会在服务器进程中拥有一个线程,这个连接的查询只会在这个单独的线程中执行,该线程只能轮流在某个CPU核心或者CPU中运行。服务器负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。当客户端连接到Mysql服务器时,需要对其进行认证,认证基于用户名、原始主机信息和密码。客户端连接成功后,服务器会继续验证该客户端是否有执行某特定查询的权限。Mysql会解析查询,并创建内部数据结构(解析树),然后对其进行各种优化。用户可以通过关键字提示优化器,进而影响决策过程。对于select语句,服务器会先检查查询缓存,如果能在其中找到对应的查询,就不必再执行查询解析、优化和执行的全过程,而是直接返回查询缓存中的结果集。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈