Windows Cache Extension for PHP 是一个 PHP 加速器,用于提高在 Windows 和 Windows Server 上运行的 PHP 应用程序的速度。一旦启用并由 PHP 引擎加载 Windows Cache Extension for PHP,PHP 应用程序就可以利用其功能而无需任何代码修改。
Windows Cache Extension 包括 5 种不同类型的缓存。以下是每种缓存类型的用途及其提供的优势。
PHP 操作码缓存 - PHP 是一个脚本处理引擎,它读取包含文本和/或 PHP 指令的数据输入流,并生成另一个数据流,最常见的是 HTML 格式。这意味着在 Web 服务器上,PHP 引擎每次被 Web 客户端请求时都会读取、解析、编译和执行 PHP 脚本。读取、解析和编译操作会给 Web 服务器的 CPU 和文件系统带来额外的负载,从而影响 PHP Web 应用程序的整体性能。PHP 字节码(操作码)缓存用于将编译后的脚本字节码存储在共享内存中,以便 PHP 引擎在随后执行同一脚本时可以重用它。
Wincache 2.0.0
中已删除对操作码缓存的支持,所有希望拥有 opcache 的用户都应该使用 PHP 中包含的 OPcache 扩展。
文件缓存 - 即使启用了 PHP 操作码缓存,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 会话中存储大量数据时的性能。