PHP新特性之字节码缓存和内置服务器

发布时间 - 2026-01-11 02:45:15    点击率:

Zend OPcache

1).从PHP5.0开始,内置了字节码缓存功能,名为Zend OPcache。因为PHP是解释性语言,PHP解释器执行PHP脚本时会解析PHP脚本代码,生成一系列的Zend操作码,然后执行字节码,每次的HTTP请求都是这样,会消耗很多资源,使用字节码缓存可以缓存预先编译的字节码,减少响应时间,降低系统资源的压力。

启用Zend OPcache

默认情况之下,Zend OPcache是没有启动的。如果是自己编译PHP,执行的时候命令必须包含以下选项:

--enable-opcache

编译好PHP之后,还必须在 php.ini 文件中指定Zend OPcache的扩展路径,如下所示:

zend_extension=/path/to/opcache.so

PHP编译成功之后会立即显示Zend OPcache扩展的文件路径。可以使用下面的命令找到这个PHP扩展的路径

php-config --extension-dir

然后使用下面的代码可以确认该扩展运行正常

<?php
phpinfo();

配置Zend OPcache

推荐配置

opcache.validate_timestamps = 1 //在生产环境中设为'0'
opcache.revalidate_freq = 0
opcache.memory_comsumption = 64
opcache.interned_strings_buffer = 16
opcache.max_accelerated_files = 4000
opcache.fast_shutdown = 1

可以访问PHP官方网站查看详细设置。

使用Zend OPcache

1).生产环境可以设置opcache.validate_timestamps=0。在开发环境中需要设置为1

内置的HTTP服务器

1).启动 php -S localhost:4000 -c app/config/php.ini

2).不支持 .htaccess 文件。意味着不支持控制器模式。前端控制器用来转发所有的HTTP请求,需要通过 .htaccess 文件或重写规则实现。

3).可以使用路由器脚本实现以上功能。但是只支持少量的URL重写规则 php -S localhost:8000 router.php

4).判断使用的是哪个服务器:

<?php
if (php_sapi_name() === 'cli-server') {
 //php内置服务器
} else {
 // 其他Web服务器
}

专题系列

PHP专题系列目录地址: github.com/xx19941215/…

PHP专题系列预计写二十篇左右,主要总结我们日常PHP开发中容易忽略的基础知识和现代PHP开发中关于规范、部署、优化的一些实战性建议,同时还有对Javascript语言特点的深入研究。

总结

以上所述是小编给大家介绍的PHP新特性之字节码缓存和内置服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# php  # 新特征  # 缓存  # 服务器  # PHP 8新特性简介  # 简述PHP7.4 新特性和废弃的功能  # php7新特性的理解和比较总结  # PHP5.5新特性之yield理解与用法实例分析  # php7函数  # 声明  # 返回值等新特性介绍  # PHP新特性详解之命名空间、性状与生成器  # PHP7新特性简述  # php 7新特性之类型申明详解  # 聊聊 PHP 8 新特性 Attributes  # 重写  # 不支持  # 可以使用  # 小编  # 的是  # 都是  # 在此  # 设为  # 给大家  # 所示  # 后会  # 设置为  # 所述  # 还必须  # 给我留言  # 感谢大家  # 响应时间  # 新特性  # 疑问请  # 有任何 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何用免费手机建站系统零基础打造专业网站?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  如何在景安服务器上快速搭建个人网站?  Laravel Docker环境搭建教程_Laravel Sail使用指南  香港服务器租用费用高吗?如何避免常见误区?  1688铺货到淘宝怎么操作 1688一键铺货到自己店铺详细步骤  如何基于PHP生成高效IDC网络公司建站源码?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  今日头条微视频如何找选题 今日头条微视频找选题技巧【指南】  Python文件操作最佳实践_稳定性说明【指导】  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  Laravel怎么实现模型属性的自动加密  网站制作报价单模板图片,小松挖机官方网站报价?  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  晋江文学城电脑版官网 晋江文学城网页版直接进入  Android使用GridView实现日历的简单功能  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  Android滚轮选择时间控件使用详解  怎么用AI帮你设计一套个性化的手机App图标?  Win11任务栏卡死怎么办 Windows11任务栏无反应解决方法【教程】  如何快速使用云服务器搭建个人网站?  如何快速搭建高效服务器建站系统?  标题:Vue + Vuex + JWT 身份认证的正确实践与常见误区解析  图册素材网站设计制作软件,图册的导出方式有几种?  用yum安装MySQLdb模块的步骤方法  如何在服务器上配置二级域名建站?  IOS倒计时设置UIButton标题title的抖动问题  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  三星网站视频制作教程下载,三星w23网页如何全屏?  Laravel如何创建自定义中间件?(Middleware代码示例)  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何彻底删除建站之星生成的Banner?  Laravel如何使用Contracts(契约)进行编程_Laravel契约接口与依赖反转  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  千库网官网入口推荐 千库网设计创意平台入口  进行网站优化必须要坚持的四大原则  浅谈javascript alert和confirm的美化  Laravel storage目录权限问题_Laravel文件写入权限设置  Laravel distinct去重查询_Laravel Eloquent去重方法  java ZXing生成二维码及条码实例分享  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Python图片处理进阶教程_Pillow滤镜与图像增强  Laravel如何优化应用性能?(缓存和优化命令)  Laravel如何生成API文档?(Swagger/OpenAPI教程)