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

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

<?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相关知识,请访问PHP中文网!

更多相关文章

  1. 2021各公司春招求职上岸大礼包! 春招一次上岸,阿里/字节/华为/腾
  2. 年末最新整理:阿里、腾讯、字节、华为、百度等大厂Android岗面经
  3. mall整合Redis实现缓存功能
  4. 10 行 Java 代码实现最近被使用(LRU)缓存
  5. Mybaitis缓存的优化
  6. MyBatis 延迟加载、一二级缓存、架构设计的面试题(常问,重点了解)
  7. 帮你解读什么是Redis缓存穿透和缓存雪崩

随机推荐

  1. 第一天学习C语言
  2. 华为交换机console口设置密码及状态查看
  3. 自学第五十二天
  4. 华为交换机开启Telnet服务及修改端口
  5. 【前端词典】Vuex 注入 Vue 生命周期的过
  6. 初次见面,请多关注
  7. 写独立个人博客,还有机会吗?
  8. 【前端词典】如何向老板解释反向代理
  9. 25条很棒的Python一行代码,建议收藏!
  10. Ansible 之 配置文件解析