搜索
首页后端开发php教程用memcached,xcache做PHP缓存优化的实现步骤

我们知道,eaccelerator是一个自由开放源码php加速器,优化和动态内容缓存,可以提高PHP的脚本缓存性能,并且对脚本起着优化作用,使您的PHP程序代码执行效率能提高1-10倍,今天就教大家PHP优化缓存的方法。

2.缓存原理

用户请求一个PHP程序时,PHP引擎会解析该程序,并将其编译为特定的操作码(opcode),这是一种二进制格式的可执行代码。然后此操作码会由PHP引擎执行并丢弃。操作码缓存将保存这个编译后的操作码,并在下一次调用该页面时重用它,这样就节省了很多重复编译的时间,节省资源,优化性能。
3.安装eaccelerator

调整字符集

#echo 'LC_ALL=C' >> /etc/profile#source /etc/profile
[root@~]#tar jxf eaccelerator-0.9.6.tar.bz2[root@~]#cd eaccelerator-0.9.6
[root@~]#/usr/local/php/bin/phpize
phpize是用来扩展php模块的,通过phpize可以建立php的外挂模块[root@~]#./configure --enable-eaccelerator=shared \
--with-php-config=/usr/local/php-5.3.27/bin/php-config[root@~]#make && make install
[root@~]# ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/eaccelerator.so

4.配置PHP加载eaccelerator

创建缓存目录

mkdir /tmp/eaccelerator #可目录可以用tmpfs内存文件系统来存储,SSD固态硬盘

chown -R www.www /tmp/eaccelerator

在php.ini中添加以下内容:

eaccelerator cache config by Zhang DeJin 2017-12-1
[eaccelerator]
extension = eaccelerator.so
eaccelerator.shm_size="64"
eaccelerator.cache_dir="/tmp/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.chech_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="3600"
eaccelerator.shm_prune_perid="3600"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
--End config
测试:[root@lnmp nginx]# /usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 30 2017 05:35:00)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with eAccelerator v0.9.6, Copyright (c) 2004-2010 eAccelerator, by eAccelerat

配置完毕

重启httpd或者php-fpm生效

5.版本选择

php5.3.xx 可用eaccelerator-0.9.6版本
php5.2.xx 可用eaccelerator-0.9.5.2版本

2)Xcache

1介绍

XCache 是一个又快又稳定的 PHP opcode 缓存器. 经过良好的测试并在大流量/高负载的生产机器上稳定运行. 经过(在 linux 上)测试并支持所有现行 PHP 分支的最新发布版本, 如 PHP_4_3 PHP_4_4 PHP_5_0 PHP_5_1 PHP_5_2 HEAD(6.x), 并支持线程安全/Windows. 与同类 opcode 缓存器相比更胜一筹, 比如能够快速跟进 PHP 版本. XCache 工程由 mOo 领队, 他也是 Lighttpd 的开发成员之一. Lighttpd 是最快的 Web 服务器应用程序之一, 并且超越 Apache 以及许多其他 Web 服务器. XCache 努力达到类似的效果. 2.安装

tar jxf xcache-1.3.2.tar.bz2cd xcache-1.3.2/usr/local/php-5.3.27/bin/phpize./configure --enable-xcache --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make install
ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/

3.配置PHP加载xcache

cd /usr/local/php/lib/


添加备注

echo >> php.ini
echo "xcache config by ZhangDejin 2017-12-1"

修改xcache-1.3.2/xcache.ini,可用sed命令修改
注释第三行

zend_extension = /usr/local/lib/php/extensions/non-debug-non-zts-xxx/xcache.so


注释第六行

zend_extension_ts = c:/php/extensions/php_xcache.dll


启用第八行

;extension = xcache.so


剩下的参数根据服务器配置自行调整
然后加入到php.ini

cat /home/king/xcache-1.3.2/xcache.ini >> php.ini


测试

/usr/local/php-5.3.27/bin/php -v
PHP 5.3.27 (cli) (built: Nov 29 2017 18:03:24)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2013 Zend Technologies
with XCache v1.3.2, Copyright (c) 2005-2011, by mOo

重启httpd或者php-fpm生效

3)memcache客户端,PDO_mysql,imagick扩展库

1.介绍

Memcache是一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,它能够用来存储各种格式的数据,包括图像,视频文件以及数据库检索的结果,简单的说就是将数据调用到内存中,然后从内存中读取,从而大大提高了读取速度

PDO扩展为PHP访问数据库定义了一个轻量级的,一致性的接口,它提供了一个数据访问抽象层,这样,无论使用什么数据库,都可以通过一致的函数执行查询获取数据

ImageMagick是一套功能强大,稳定而且免费的工作集和开发包,对图片超过89中格式的图片类型进行改变大小,旋转,锐化,减色等处理,现在它的主要精力集中在性能,减少bug以及提供稳定的API和ABI上

2.安装

tar zxf memcache-2.2.5.tgzcd memcache-2.2.5/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make installln /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/ls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/
安装PDO_MYSQL
tar zxf PDO_MYSQL-1.0.2.tgzcd PDO_MYSQL-1.0.2/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-config --with-pdo-mysql=/usr/local/mysql/make && make installls /usr/local/php-5.3.27/lib/php/extensions/no-debug-non-zts-2009062
yum install perl-devel -ytar zxf ImageMagick.tar.gzcd ImageMagick-6.5.1-2/./configuremake && make install安装imagicktar zxf imagick-2.3.0.tgzcd imagick-2.3.0/usr/local/php-5.3.27/bin/phpize./configure --with-php-config=/usr/local/php-5.3.27/bin/php-configmake && make installls /usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/配置PHP加载pdo_mysql,memcache,imagick等模块修改extension_dir = "./"为extension_dir = "/usr/local/php-5.3.27/lib/php/extensions/no-debug-zts-20090626/"添加这几个模块;--cache ext start by Zhang Dejin 2017-12-1extension = memcache.soextension = pdo_mysql.soextension = imagick.so;End config:

查看nginx编译参数
nginx -V
查看httpd编译参数
cat httpd/build/config.nice
查看mysql编译参数
grep "CONFIGURE_LINE" mysql/bin/mysqlbug
php编译参数
php/bin/php -i|grep configure

完毕


相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

相关阅读:

驼峰命名与JS的问题解答

JS里的布尔值、关系运算符、逻辑运算符的详解及实例

前端的js框架总结以及用途讲解

以上是用memcached,xcache做PHP缓存优化的实现步骤的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
PHP如何识别用户的会话?PHP如何识别用户的会话?May 01, 2025 am 12:23 AM

phpientifiesauser'ssessionusessessionSessionCookiesAndSessionIds.1)whiwSession_start()被称为,phpgeneratesainiquesesesessionIdStoredInacookInAcookInamedInAcienamedphpsessidontheuser'sbrowser'sbrowser.2)thisIdAllowSphptptpptpptpptpptortoreTessessionDataAfromtheserverMtheserver。

确保PHP会议的一些最佳实践是什么?确保PHP会议的一些最佳实践是什么?May 01, 2025 am 12:22 AM

PHP会话的安全可以通过以下措施实现:1.使用session_regenerate_id()在用户登录或重要操作时重新生成会话ID。2.通过HTTPS协议加密传输会话ID。3.使用session_save_path()指定安全目录存储会话数据,并正确设置权限。

PHP会话文件默认存储在哪里?PHP会话文件默认存储在哪里?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

您如何从PHP会话中检索数据?您如何从PHP会话中检索数据?May 01, 2025 am 12:11 AM

ToretrievedatafromaPHPsession,startthesessionwithsession_start()andaccessvariablesinthe$_SESSIONarray.Forexample:1)Startthesession:session_start().2)Retrievedata:$username=$_SESSION['username'];echo"Welcome,".$username;.Sessionsareserver-si

您如何使用会议来实施购物车?您如何使用会议来实施购物车?May 01, 2025 am 12:10 AM

利用会话构建高效购物车系统的步骤包括:1)理解会话的定义与作用,会话是服务器端的存储机制,用于跨请求维护用户状态;2)实现基本的会话管理,如添加商品到购物车;3)扩展到高级用法,支持商品数量管理和删除;4)优化性能和安全性,通过持久化会话数据和使用安全的会话标识符。

您如何在PHP中创建和使用接口?您如何在PHP中创建和使用接口?Apr 30, 2025 pm 03:40 PM

本文解释了如何创建,实施和使用PHP中的接口,重点关注其对代码组织和可维护性的好处。

crypt()和password_hash()有什么区别?crypt()和password_hash()有什么区别?Apr 30, 2025 pm 03:39 PM

本文讨论了PHP中的crypt()和password_hash()之间的差异,以进行密码哈希,重点介绍其实施,安全性和对现代Web应用程序的适用性。

如何防止PHP中的跨站点脚本(XSS)?如何防止PHP中的跨站点脚本(XSS)?Apr 30, 2025 pm 03:38 PM

文章讨论了通过输入验证,输出编码以及使用OWASP ESAPI和HTML净化器之类的工具来防止PHP中的跨站点脚本(XSS)。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。