在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
谈下php的运行原理--Opcodes。 比如以下一段简单的代码: <?php echo '周伯通‘; ?> 执行这段代码会经过如下4个步骤(确切的来说,应该是PHP的语言引擎Zend) 1.Scanning(Lexing) ,将PHP代码转换为语言片段(Tokens) 2.Parsing, 将Tokens转换成简单而有意义的表达式 3.Compilation, 将表达式编译成Opocdes 4.Execution, 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能。 所以当开启OPcache的时候,php在一次请求中已经将Opcodes进行了缓存,那么下次请求的时候,就是跳过前三步,直接运行OPcache里对应的Opcodes,所以大大提升了PHP运行的性能。 开启opcache方法: 首先输入命令 php -m 查看有没有开启 OPcache 拓展。 如果已经开启,那么就可以开始配置php.ini。 // 开启opcache opcache.enable=1 // 是否开启代码检测,开发环境中应不开启,然后可以写一个artisan命令去运行opcache_reset()方法去重启opcache缓存 opcache.validate_timestamps=0 // 如果开启代码检测,每隔多久检测一个代码是否改变 opcache.revalidate_freq=0 // 最大加速文件数,linux下可以通过find . -type f -print | grep php | wc -l命令查看项目有的文件数,该值应该大于项目下的文件数 opcache.max_accelerated_files=8000 // opcache预先申请的内存,用来存opcache缓存 opcache.memory_consumption=192 // 重启字符串缓冲区 opcache.interned_strings_buffer=16 // 这实际上是提供了一个更快的机制,在单个请求结束时调用代码中的解构器,以加快响应和回收php工作,以便更快地为下一个传入请求做好准备。 opcache.fast_shutdown=1
|
2022-08-17
2022-09-18
2022-08-17
2022-07-29
2022-08-15
请发表评论