我们知道,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中文网其它相关文章!
相关阅读:
以上是用memcached,xcache做PHP缓存优化的实现步骤的详细内容。更多信息请关注PHP中文网其他相关文章!

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

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

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

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

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

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

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


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

EditPlus 中文破解版
体积小,语法高亮,不支持代码提示功能

Atom编辑器mac版下载
最流行的的开源编辑器

Dreamweaver CS6
视觉化网页开发工具

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