php7开启opcache加速应用

ubutun apache php7.1开启opcache


一个php程序运行完成后,内存马上释放,基本上所有数据都在此时销毁(仅有即晒数据会缓存),也就是说此时计算机内存中基本上不存在这个PHP代码中的数据,这和常驻内存的JAVA语言有显著区别.这种缓存机制具有如下的优缺点:

  优点:有效避免内存泄漏,内存回收机制更简单,避免因为一个程序的问题而连累整个服务器.

  缺点:无法服用已有数据,每个php请求都得重复执行请求-翻译-执行的过程,重复过多.

 Opcode(操作码)缓存就是虚拟机把PHP代码编译成一种中间码的结果缓存起来(可以缓存到硬盘或内存).下一次PHP运行此页面是,只要直接解释这些代码就行了。这样省去了Flex语法器进行语法编译和大部分语法检查的过程,一定成都上提高了php运行速度,减轻了服务器荷载。


1128628-20180504142714761-711951956.png


1128628-20180504142702126-1584014725.png


$ sudo apt install php7.1-opcache

 

$ sudo phpenmod opcache

 

$ FILEPATH="/etc/php/7.1/apache2/conf.d/10-opcache.ini"

开启

zend_extension=opcache.so

# PHP-FPM模式的配置文件

$ FILEPATH="/etc/php/7.1/fpm/php.ini"

 

 

# Enable the opcache.

$ SEARCH=";opcache.enable=0"

$ REPLACE="opcache.enable=1"

$ sudo sed -i "s:$SEARCH:$REPLACE:" $FILEPATH

 

 

# Set the amount of memory we can use for caching.

# The production server has oooooodles of RAM.

$ SEARCH=";opcache.memory_consumption=64"

$ REPLACE="opcache.memory_consumption=256"

$ sudo sed -i "s:$SEARCH:$REPLACE:" $FILEPATH

 

 

# increase the number of files to cache

$ SEARCH=";opcache.max_accelerated_files=2000"

$ REPLACE="opcache.max_accelerated_files=1000000"

$ sudo sed -i "s:$SEARCH:$REPLACE:" $FILEPATH

 

 

# Don't bother revalidating files for a long time because

# they should never change.

# Obviously you need to undo this in dev.

$ SEARCH=";opcache.validate_timestamps=1"

$ REPLACE="opcache.validate_timestamps=3000"

$ sudo sed -i "s:$SEARCH:$REPLACE:" $FILEPATH

 

#重启服务

$ sudo service php7.1-fpm restart



参考链接



如您有新项目的需求,加微信索取更多相关案例介绍!