搜索引擎优化高级编程:php版(自php世界中三个主流的能够实现编译cache的工具)
优采云 发布时间: 2021-11-16 10:11搜索引擎优化高级编程:php版(自php世界中三个主流的能够实现编译cache的工具)
在*敏*感*词*系统开发中,Cache无疑是至关重要的。在 PHP 世界中,虽然没有 Java 中那么多的缓存解决方案,但还是有一些成熟的解决方案。从“高级 PHP 我在“编程”中学到了以下内容:
1、语言优化:PHP有很多引擎级的API。通过这些API,可以改变引擎的执行行为,达到优化运行的目的。其中,最值得做的就是缓存编译结果。众所周知,php每次执行都要经过源码->编译->中间代码->引擎执行。文件需要经过编译过程。当脚本使用require()时,include()收录一些需要编译的文件)。通过对编译结果的缓存,可以大大提高系统的性能(与系统的复杂度和规模成正比)。
php世界中可以编译缓存的三个主流工具是:
Zend Accelerator — Zend Industries 生产的商业、闭源、收费的编译器缓存
ionCube Accelerator——一个商业的、闭源的、免费的编译器缓存,由 Nick Lindridge 编写并由他的公司 ionCube 分发
APC——由 Daniel Cowgill 和 George Schlossnagle 编写的免费开源编译器缓存
APC的安装方法,APC收录在PECL中,具体安装如下:190-823 190-802:
运行命令
以下为引用内容:
#pear 安装 apc
之后,在php.ini文件中加入:
以下为引用内容:
extension = /path/to/apc.so
这样,安装就完成了。下次运行php时,APC会自动激活,将编译结果放入共享内存并缓存,下次执行时直接从内存中获取编辑结果并执行。重新编译。
问题:APC可以自动重新编译上次编译后有变化的php吗?
2、php代码优化:使用一些工具在市场上编译后生成高质量的中间代码,如下:
Zend Optimizer 是一个闭源但免费提供的优化器。
ionCube *敏*感*词*收录一个集成优化器。
PEAR 中的概念验证优化器。
优化器的主要功能:
1、清除无用代码,例如永远不会执行的死代码。
2、常量的计算,比如把$seconds_in_day = 24*60*60直接改成$seconds_in_day = 86400;
3、其他代码优化功能,比如有这么一句话:
$count++;
会优化为++$count,这使得执行速度更快。当然,如果语句是 $i = $count++;不会优化