PHP8 简介
Windows Cache Extension for PHP是一个用于增加运行在Windows和Windows Server上的PHP应用程序速度的PHP加速器。一旦启用并由PHP引擎加载了Windows Cache Extension for PHP,PHP应用程序可以在不需要进行任何代码修改的情况下利用其功能。
Windows Cache Extension包括5种不同类型的缓存。以下描述了每种缓存类型的目的以及它提供的好处。
- PHP Opcode Cache - PHP是一个脚本处理引擎,它读取包含文本和/或PHP指令的输入数据流,并生成另一个数据流,通常以HTML格式为主。这意味着在Web服务器上,每次由Web客户端请求时,PHP引擎都会读取、解析、编译和执行PHP脚本。读取、解析和编译操作会增加Web服务器的CPU和文件系统负载,从而影响PHP Web应用程序的整体性能。PHP字节码(opcode)缓存用于将已编译的脚本字节码存储在共享内存中,以便PHP引擎可以在后续执行相同脚本时重复使用。注意:Wincache 2.0.0中删除了对opcode缓存的支持,所有希望使用opcode缓存的用户应该使用随PHP一起包含的OPcache扩展。
- 文件缓存 - 即使启用了PHP opcode缓存,PHP引擎仍然需要访问文件系统上的脚本文件。当PHP脚本存储在远程UNC文件共享上时,文件操作会引入显着的性能开销。Windows Cache Extension for PHP包括一个文件缓存,用于将PHP脚本文件的内容存储在共享内存中,从而减少PHP引擎执行的文件系统操作数量。
- 解析文件路径缓存 - PHP脚本经常使用相对文件路径包含或操作文件。PHP引擎必须将每个文件路径规范化为绝对文件路径。当PHP应用程序使用许多PHP文件并通过相对路径访问它们时,解析路径的操作可能对应用程序的性能产生负面影响。Windows Cache Extension for PHP提供了一个解析文件路径缓存,用于存储相对文件路径和绝对文件路径之间的映射,从而减少PHP引擎必须执行的路径解析数量。
- 用户缓存(自版本1.1.0起可用) - PHP脚本可以利用用户缓存API来使用共享内存缓存。PHP对象和变量可以存储在用户缓存中,然后在后续请求中重新使用。这可以用于提高PHP脚本的性能,并在多个PHP进程之间共享数据。
- 会话处理程序(自版本1.1.0起可用) - WinCache会话处理程序可用于将PHP会话数据存储在共享内存缓存中。这避免了用于读取和写入会话数据的文件系统操作,从而在存储大量数据的PHP会话时提高性能。