博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转] PHP 优化配置
阅读量:5912 次
发布时间:2019-06-19

本文共 5679 字,大约阅读时间需要 18 分钟。

转载自:

参考链接: 

 

PHP加速一:Zend Optimizer优化PHP程序

安装Zend Optimizer优化PHP程序 

1、运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”。 

2、安装向导会要求你选择当前使用的WEB服务器(Apache、IIS或其它),选择好服务器后单击“Next”
3、安装向导提示您确认php.ini的位置(默认是C:\WINDOWS\)单击“Next”,提示“备份php.ini到C:\WINDOWS\php.ini-Optimizer-bak,当卸载该软件时可以恢复到原始的php.ini)单击“Next”。 
4、安装向导提示“为了继续安装程序需要重新启动IIS服务)单击“是”,安装程序开始重新启动IIS服务,然后安装程序会提示“IIS服务顺利重新启动了”单击“确定”,再单击“finish”完成安装。 
5、安装完毕后程序会自动根据你的选择来修改php.ini帮助你启动这个引擎。下面我们来介绍Zend Optimizer的配置选项,帮助你最大化自定义合理的配置。

[Zend] 

zend_optimizer.optimization_level=15 //我的配置文件中zend_optimizer.optimization_level = 1023 
zend_extension_ts="C:\Inetpub\Zend\lib\ZendExtensionManager.dll" //这个与你的安装路径有关 
zend_extension_manager.optimizer_ts="C:\Inetpub\Zend\lib\Optimizer-2.5.5" 
现在我们来介绍上边这些配置文件中相关内容的含义: 
zend_optimizer.optimization_level 《== 优化程度,这里定义启动多少个优化过程。 
zend_optimizer.encoder_loader 《== 是否允许处理由Zend Encoder加密的PHP文件,默认允许。 
zend_extension_ts 《== 优化器所在目录。 
zend_extension_manager.optimizer_ts 《== 优化器管理所在目录。 
优化过程 zend_optimizer.optimization_level 详细解释 
这里最为重点的部分,仔细看!Zend Opt总共有10个优化过程,从理论上说开的越多性能越好。当然,理论和实际永远都存在着差距。优化过程开启的越多对性能消耗也相对也越大,Zend Opt的10个优化过程并不相同也就是说效果不是平均的。Zend公司定义的最高值(High模式)为15,这里15指的是开启1-4号优化过程。当然,很多朋友并不满足于此,毕竟最高也只开启4个优化过程连总数的一半都没有。各个优化过程的对应的数字代码(值)如下: 
不使用 0 <= 如果这样不如不装,还能节约点内存说! 
优化过程1(PASS1) 1 
优化过程2(PASS2) 2 
优化过程3(PASS3) 4 
优化过程4(PASS4) 8 
优化过程5(PASS5) 16 
优化过程6(PASS6) 32 
优化过程7(PASS7) 64 
优化过程8(PASS8) 128 
优化过程9(PASS9) 256 
优化过程10(PASS10) 512 
以何种方式开启优化过程是通过这些数字代码(值)相加所得的和作为此参数的参数值来控制的。如我的配置文件中zend_optimizer.optimization_level = 1023, 这里的1023是优化过程1到优化过程10全部数字代码(值)相加得到的和,表示开启全部10个优化过程。刚才所提到的Zend公司定义的High模式值为15,15表示同时开启优化过程1-4。 
加密代码支持 zend_optimizer.encoder_loader 详细解释 
对于这个参数,我想如果没有看过Zend Opt FAQ文档的朋友大多数并不知道。这个参数用来告诉Zend Opt是否去支持被Zend Encoder加密过的代码。默认情况下Zend Opt将支持加密过的代码。如果不使用被加密过的代码我推荐你关闭此选项。这个功能牵扯到解包反码的过程,会导致系统负荷的加重。我的朋友已经开发完毕相应的反编译工具,预计春节之后推出。 
这个参数的值只有两个 0 关闭, 1 开启。默认为1,推荐设置为0。 
模块定位 zend_extension_ts 、zend_extension_manager.optimizer_ts无需解释,这些参数就是Zend Optimizer相关模块在硬盘上的安装路径。 
6、如何获知Zend Optimizer是否在运行? 
答案很简单,只要用PHP的函数phpinfo()来检测便知,如下所示: 
<? 
phpinfo(); 
?> 
显示的结果中关于Zend Optimizer的部分就象下面这样:(PHP版本不同,信息可能不同,我的是PHP4.3.11) 
[Copy to clipboard] [ - ]CODE: 
This program makes use of the Zend Scripting Language Engine: 
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.6, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies 
表示 Zend Optimizer for PHP优化成功了。 

 

PHP 优化配置之二 

用eAccelerator(前身Truck MMCache)加速 

1.首先,我们下载编译好了的Module 

http://www.arnot.info/eaccelerator/ 
选择下载对应您的系统和PHP版本的eAccelerator 
2.将其重命名为 eaccelerator.dll (win版) 或者 eaccelerator.so (linux版) 然后移至您的 php 的 extentions文件夹,其路径定义在您系统所用的的 php.ini 中 
3.根据您系统的情况,一般有两种安装方式,一种按照Zend的扩展,一种是PHP扩展 
推荐按照Zend的扩展,打开php.ini文件, 找到extension=php_zip.dll, 在下面添加 
win版 

zend_extension_ts="c:\php\extensions\eaccelerator.dll" //路径根据您系统的情况而定,文件扩展名也是

eaccelerator.shm_size="16" //根据你的系统内存来,默认16M,可以改成64M 
eaccelerator.cache_dir="C:\php\tmp" //需要手动创建,WIN下例如C:\php\tmp,确保他的权限为可读写,并且以后不要动这个目录哦 
eaccelerator.enable="1" 
eaccelerator.optimizer="1" 
eaccelerator.check_mtime="1" 
eaccelerator.debug="0" 
eaccelerator.filter="" 
eaccelerator.shm_max="0" 
eaccelerator.shm_ttl="0" 
eaccelerator.shm_prune_period="0" 
eaccelerator.shm_only="0" 
eaccelerator.compress="1" 
eaccelerator.compress_level="9" 

linux版 

zend_extension="/usr/lib/php4/eaccelerator.so" //路径根据您系统的情况而定,文件扩展名也是 

eaccelerator.shm_size="16" //根据你的系统内存来,默认16M,可以改成64M 
eaccelerator.cache_dir="/tmp/eaccelerator" //需要手动创建,确保他的权限为可读写,并且以后不要动这个目录哦 
eaccelerator.enable="1" 
eaccelerator.optimizer="1" 
eaccelerator.check_mtime="1" 
eaccelerator.debug="0" 
eaccelerator.filter="" 
eaccelerator.shm_max="0" 
eaccelerator.shm_ttl="0" 
eaccelerator.shm_prune_period="0" 
eaccelerator.shm_only="0" 
eaccelerator.compress="1" 
eaccelerator.compress_level="9" 

如果打开了安全模式,必须使用, "zend_extension_ts" 取代 "zend_extension". 

附:linux下创建缓存目录 
[Copy to clipboard] [ - ]CODE: 
mkdir /tmp/eaccelerator 
chmod 0777 /tmp/eaccelerator 
PHP扩展安装模式,打开php.ini文件, 找到extension=php_zip.dll, 在下面添加 

extension="eaccelerator.so" //路径根据您系统的情况而定,文件扩展名也是,Win系统下是dll(例如c:\php\extensions\eaccelerator.dll) 

eaccelerator.shm_size="16" 
eaccelerator.cache_dir="/tmp/eaccelerator" //需要手动创建,WIN下例如C:\php\tmp,确保他的权限为可读写,并且以后不要动这个目录哦 
eaccelerator.enable="1" 
eaccelerator.optimizer="1" 
eaccelerator.check_mtime="1" 
eaccelerator.debug="0" 
eaccelerator.filter="" 
eaccelerator.shm_max="0" 
eaccelerator.shm_ttl="0" 
eaccelerator.shm_prune_period="0" 
eaccelerator.shm_only="0" 
eaccelerator.compress="1" 
eaccelerator.compress_level="9" 
eAccelerator可以和Zend兼容,但是上面的代码在 php.ini 必须定义与 Zend 的相关代码之前,虽然官方强烈建议,除非您必须使用Zend过的代码,否则最好不同时使用Zend和eAccelerator,但是两个一起用也不冲突,还能加速,为什么不用呢,呵呵 
完成上面的工作以后保存您的 php.ini , 然后重新启动 apache或者IIS, 看看 phpinfo 是不是不一样了?然后看看 phpwind 页脚的执行时间是不是快了许多? 
正确安装后,可以在phpinfo上的Zend部分看到类似如下的信息:(PHP版本不同,信息可能不同,我的是PHP4.3.11,一般出现with eAccelerator就是成功了) 

This program makes use of the Zend Scripting Language Engine: 

Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with eAccelerator v0.9.3, Copyright (c) 2004-2005 eAccelerator, by eAccelerator with Zend Extension Manager v1.0.6, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies 
很简单的。操作前只要做好php.ini的备份即可,失败了大不了将备份的恢复过去。重起 apache或者IIS服务就行,呵呵,风险不是很大。 
再看论坛经过加载eAccelerator以后运行,页脚执行时间由 0.02X 秒缩短至 0.01X秒...快了一倍多^_^ 
特别说明 : 
1、如果您的系统已经装了ZEND加速器,那么上述配置在PHP.INI中必须放在ZEND的前面,否则Apache不能启动; 
2、eAccelerator.shm_size="64",这里的64是加速系统使用做CACHE的内存,默认是16M;根据您系统内存调整; 
3、eAccelerator.cache_dir="C:\php\tmp",这个是加速器工作时候产生临时文件的目录,请在对应目录建立文件夹以存放缓存文件并且给予读写权限,如果安装时候默认目录空间小了建议调整 
效果:现在系统同时有ZEND与eAccelerator加速器,PHP执行速度比原来是要快一些;ZEND优化已经开到最大;在PHP系统上感觉最明显的就是BBS,以及软件下载后台程序输出HTML静态页面速度非常快,而仅有ZEND的时候有些停顿。 

你可能感兴趣的文章
Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again
查看>>
数字格式化工具:Numeral.js 简介
查看>>
Django登录后,自动返回原操作页面的方法
查看>>
UltraEdit批量删除空行
查看>>
运行第一个容器 - 每天5分钟玩转容器技术(4)
查看>>
mysql实现vsftp虚拟用户访问
查看>>
(LNMP) How To Install Linux, nginx, MySQL, PHP
查看>>
write back vs write through
查看>>
要开始学习LINUX了
查看>>
各种链接
查看>>
开发工程师未来应具备的能力
查看>>
spring-boot项目中如何集成使用thymeleaf
查看>>
SQL Server中查看哪些游标未释放
查看>>
Protostar format3
查看>>
[UWP]了解模板化控件(6):使用附加属性
查看>>
我的友情链接
查看>>
PowerShell Switch判断语句示例
查看>>
《Spring实战》第四版读书笔记 第一章 Spring之旅
查看>>
那些年,一起学的Java 3-3
查看>>
那些年,一起学的Java 2-4
查看>>