发表时间
评论 12

大家知道目前PHP的缓存插件一般有三个:APCeAcceleratorXCache,但未来它们可能都会消失,因为PHP 5.5已经集成Zend Opcache,功能和前三者相似但又有少许不同,缓存速度据说比它们更快(注意:只是据说,我没测试过)。

这几个PHP加速插件的主要原理都相同,就是把PHP执行后的数据缓冲到内存中从而避免重复的编译过程,能够直接使用缓冲区已编译的代码从而提高速度,降低服务器负载,它们的效率是显而易见的,像drupal这种庞大的CMS,每次打开一个页面要调用数十个PHP文件,执行数万行代码,效率可想而知,在安装APC等加速器后打开页面的速度明显加快。

Zend Opcache 已经集成在了PHP 5.5里面,编译安装PHP5.5的时候加上--enable-opcache就行了。但也支持低版本的 PHP 5.2.*, 5.3.*, 5.4.*,未来会取消对5.2的支持,下面是我在PHP 5.4下的安装方法:

依次执行下面的命令
wget http://pecl.php.net/get/zendopcache-7.0.2.tgz
tar xzf zendopcache-7.0.2.tgz
cd zendopcache-7.0.2
phpize
如果找不到phpize 的话自己找PHP路径,我的在/usr/local/php/bin/phpize,下面这行也要按你的php.ini路径自行修改
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

如果显示Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-zts-20100525/ 表示安装完成,下面要修改php的配置文件让它生效

在 php.ini 的最后面加入下面几行
zend_extension=/usr/local/php/lib/php/extensions/no-debug-zts-20100525/opcache.so
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1

128意思是给它分配128M内存,然后重启apache,用phpinfo查看是否生效,显示下面的信息就说明生效了



在phpinfo页面的下面可以看到的运行状态



如果嫌这个不直观可以装个PHP文件查看,地址在https://gist.github.com/ck-on/4959032,把上面的代码保存为一个php文件放到你的网站目录下面打开就可以看到:



命中率100%。

Zend Opcache因为最近才出来,现在还是测试版,相信在未来几年会越来越流行,现在真没多少人用。目前测试来看还比较稳定,我已经在 vbulletin论坛下运行了几天,不过没看出和APC、xcache有啥区别,只是最近我的APC老让apache崩溃(可能是apache和php版本太新的原因),想换个试试,毕竟Zend Opcache和APC都是php官方的,值得信赖。

windows下可以参考 这篇文章,从源里直接装可以参考 这篇文章

作者
分类 技术

发表时间
评论 9



今天介绍一下PHP论坛系统 xenforo,在介绍xenforo之前不得不说说 vbulletin(国内大部分称之为 vbb),因为 xenrofo 是 vbulletin 的几个开发人员离职后创办的。目前国内用 vbulletin 的人很少了,但很多老站长对vbb都有很深厚的感情,十年前vbb成就了很多人的站长梦,那时候vbb的是最强大的论坛程序(目前应该也是)。

xenforo 的创始人 Kier Darby 从2002年开始一直是 vbulletin 的技术总监,vbulletin 是英国 Jelsoft 团队开发的商业论坛软件,十多年来一直是最流行的论坛程序,取得这样的成绩 Kier 功不可没,2007年 Jelsoft 被美国的 Internet Brands 收购,个人的技术梦想始终和公司的商业利益始终是相冲突的,所以 Kier Darby和另外几个成员在2009年离开了 Internet Brands 。

2010年6月 Kier 公布了新的网站,基于他新创立的论坛程序 xenforo,并宣布了另外两个 vbb 的成员 Mike 和 Ashley 加入了 xenforo,Xen 是虚拟化的意思,Foro 是西班牙语论坛的意思, 简单而言就是虚拟社区的意思。因为当时很多人对新版的 vbb4 很失望,再加上 Kier 等人在 vbb 里面的影响力,xenforo 一经公布就很受关注。

2010年10月 xenforo 发布了一个测试版,与此同时收到了原雇主 Internet Brands 的律师函,称 Kier、Mike 和 Ashley 违反了他们曾经签署的竞业协议,但 Kier还是在2011年3月8日发布1.0正式版。后来这官司打了两年,也影响了 xenforo 的开发和销售,2012年一直没什么动静,一直停留在2011年发布的1.1版本,很多人都认为 xenforo 完蛋了,令人欣慰的是今年03月1日 ,xenforo 发公告说官司结束,具体怎么处理的不得而知,反正是 xenforo 可以继续开发。官司完结了,现在可以放心大胆地专心开发了,这两三个月来公布了众多新特性,都将在1.2版本里得到展现。

xenforo 基于 PHP 官方框架 Zend Framework 开发,无论从底层还是外观都进行了很大的改革,HTML5、CSS3、Ajax无处不在,操作很人性化。因为团队的vbb 背景,所以你在里面也可以看到很多 vbulletin 的影子,模板系统非常强大,插件和钩子系统比 vbb 更简单,开发插件非常容易。功能虽然还是没法和vbulletin 比,不过它的大部分客户都是来自 vbulletin 。负载也挺强悍,目前已经有十多个千万帖子级别的客户了。

国外的论坛程序已经形成了三足鼎立的局面:vbulletin、IPB、xenforo,尽管他们都是收费的,但占了半壁江山。PHPBB、Mybb、SMF等开源论坛虽然也很流行,但都是些小网站在用,大客户不多,这些开源论坛发展很慢,多年来也没多大改变,我从2003年就用 PHPBB,十年了,感觉没加什么新功能,这造成了大部分人都选择商业论坛了,既有强大的功能又有售后支持,一两百美元对老外来说也不贵。

国内论坛基本上是 discuz 一家独大,连 phpwind 都越来越小众了,不过它们都越来越脱离了论坛的概念,很多地方门户网站都在用来做新闻网站。我个人还是喜欢单纯点的论坛,我一直用 vbulletin,用了十几年了,对 vbulletin 感情深厚,但目前也打算换xenforo了,vbulletin 5.0虽然也变化很大,但越来越臃肿了,vbulletin 被收购后一直不温不火,4.0让很多人失望了,现在很多大客户都转到 xenforo 了,vbulletin 国内也没人搞中文化了,xenforo 现在有中文语言包,中文搜索也有解决方案。

本文于2017年4月16日编辑。

作者
分类 代码, xenforo

← 较早的 较新的 →