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


Posted in PHP onAugust 11, 2017

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中判断变量为空的几种方法分享
Aug 26 PHP
PHP传参之传值与传址的区别
Apr 24 PHP
PHP实现事件机制实例分析
Jun 26 PHP
php-redis中的sort排序函数总结
Jul 08 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
PHP入门教程之使用Mysqli操作数据库的方法(连接,查询,事务回滚等)
Sep 11 PHP
php事务回滚简单实现方法示例
Mar 28 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
Jul 18 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
PHP简单实现循环链表功能示例
Nov 10 PHP
php中的依赖注入实例详解
Aug 14 PHP
PHP上传图片到数据库并显示的实例代码
Dec 20 PHP
PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】
Aug 11 #PHP
如何修改Laravel中url()函数生成URL的根地址
Aug 11 #PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
Aug 11 #PHP
基于Laravel5.4实现多字段登录功能方法示例
Aug 11 #PHP
PHP递归实现文件夹的复制、删除、查看大小操作示例
Aug 11 #PHP
关于PHP中协程和阻塞的一些理解与思考
Aug 11 #PHP
如何利用预加载优化Laravel Model查询详解
Aug 11 #PHP
You might like
php输出指定时间以前时间格式的方法
2015/03/21 PHP
js调用activeX获取u盘序列号的代码
2011/11/21 Javascript
JSON.stringify 语法实例讲解
2012/03/14 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
仿新浪微博登陆邮箱提示效果的js代码
2013/08/02 Javascript
js获取select标签选中值的两种方式
2014/01/09 Javascript
WEB前端开发框架Bootstrap3 VS Foundation5
2016/05/16 Javascript
jQuery基于排序功能实现上移、下移的方法
2016/11/26 Javascript
创建一般js对象的几种方式
2017/01/19 Javascript
jQuery元素选择器实例代码
2017/02/06 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
原生JS实现前端本地文件上传
2018/09/08 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
jQuery实现手风琴效果(蒙版)
2020/01/11 jQuery
2分钟实现一个Vue实时直播系统的示例代码
2020/06/05 Javascript
JavaScript使用setTimeout实现倒计时效果
2021/02/19 Javascript
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
2019/01/24 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
关于numpy数组轴的使用详解
2019/12/05 Python
Pytorch 使用opnecv读入图像由HWC转为BCHW格式方式
2020/06/02 Python
介绍一下gcc特性
2012/01/20 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
后勤人员自我评价怎么写
2013/09/19 职场文书
试用期员工考核制度
2014/01/22 职场文书
《老山界》教学反思
2014/04/08 职场文书
3的组成教学反思
2014/04/30 职场文书
承诺书模板
2014/08/30 职场文书
五心教育心得体会
2014/09/04 职场文书
说好普通话圆梦你我他演讲稿
2014/09/21 职场文书
服务员态度差检讨书
2014/10/28 职场文书
2014年机关党建工作总结
2014/11/11 职场文书
婚育证明样本
2015/06/16 职场文书
运动会广播稿300字
2015/08/19 职场文书