codecamp

PHP8 简介

Windows Cache Extension for PHP是一个用于增加运行在Windows和Windows Server上的PHP应用程序速度的PHP加速器。一旦启用并由PHP引擎加载了Windows Cache Extension for PHP,PHP应用程序可以在不需要进行任何代码修改的情况下利用其功能。

Windows Cache Extension包括5种不同类型的缓存。以下描述了每种缓存类型的目的以及它提供的好处。

  1. 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扩展。
  2. 文件缓存 - 即使启用了PHP opcode缓存,PHP引擎仍然需要访问文件系统上的脚本文件。当PHP脚本存储在远程UNC文件共享上时,文件操作会引入显着的性能开销。Windows Cache Extension for PHP包括一个文件缓存,用于将PHP脚本文件的内容存储在共享内存中,从而减少PHP引擎执行的文件系统操作数量。
  3. 解析文件路径缓存 - PHP脚本经常使用相对文件路径包含或操作文件。PHP引擎必须将每个文件路径规范化为绝对文件路径。当PHP应用程序使用许多PHP文件并通过相对路径访问它们时,解析路径的操作可能对应用程序的性能产生负面影响。Windows Cache Extension for PHP提供了一个解析文件路径缓存,用于存储相对文件路径和绝对文件路径之间的映射,从而减少PHP引擎必须执行的路径解析数量。
  4. 用户缓存(自版本1.1.0起可用) - PHP脚本可以利用用户缓存API来使用共享内存缓存。PHP对象和变量可以存储在用户缓存中,然后在后续请求中重新使用。这可以用于提高PHP脚本的性能,并在多个PHP进程之间共享数据。
  5. 会话处理程序(自版本1.1.0起可用) - WinCache会话处理程序可用于将PHP会话数据存储在共享内存缓存中。这避免了用于读取和写入会话数据的文件系统操作,从而在存储大量数据的PHP会话时提高性能。


PHP8 uopz_unset_return — 取消先前为函数设置的返回值
PHP8 需求
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }