时间:2021-05-26
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.soPHP编译成功之后会立即显示Zend OPcache扩展的文件路径。可以使用下面的命令找到这个PHP扩展的路径
php-config --extension-dir然后使用下面的代码可以确认该扩展运行正常
<?phpphpinfo();配置Zend OPcache
推荐配置
opcache.validate_timestamps = 1 //在生产环境中设为'0'opcache.revalidate_freq = 0opcache.memory_comsumption = 64opcache.interned_strings_buffer = 16opcache.max_accelerated_files = 4000opcache.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).判断使用的是哪个服务器:
<?phpif (php_sapi_name() === 'cli-server') { //php内置服务器} else { // 其他Web服务器}专题系列
PHP专题系列目录地址: github.com/xx19941215/…
PHP专题系列预计写二十篇左右,主要总结我们日常PHP开发中容易忽略的基础知识和现代PHP开发中关于规范、部署、优化的一些实战性建议,同时还有对Javascript语言特点的深入研究。
总结
以上所述是小编给大家介绍的PHP新特性之字节码缓存和内置服务器,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
PHP实现多服务器session共享之NFS共享前言,Nio大侠提出了session多服务器共享的问题,原文请见PHP实现多服务器共享SESSION数据。其中,
PHP5.4.0起,CLISAPI提供了一个内置的Web服务器,这个内置的Web服务器主要用于本地开发使用,不可用于线上产品环境。URI请求会被发送到PHP所在
在人们浏览互联网的时候,缓存服务器就会开始工作,它能够进行本地缓存和代理缓存。下面就带大家来看看缓存服务器有什么作用,缓存服务器的工作原理是什么? &
打印服务器虽然也是服务器,但网络打印服务器外形却与人们想象中的服务器大相径庭。网络打印服务器分外置和内置两种,内置网络打印服务器一般和网络打印机一起打包售出,也
PHP的mysqli扩展提供了其先行版本的所有功能,此外,由于MySQL已经是一个具有完整特性的数据库服务器,这为PHP又添加了一些新特性。而mysqli恰恰也