发表时间
评论 1

好多年不写博客了,数据差点丢失,虽然这里没什么有价值的东西,但对我来说是一种怀念。

博客关了半年我都不知道,我的博客是托管在朋友的服务器上,一打听发现朋友的公司早倒闭了,几个月前把自己电脑上的备份数据恢复了一下,发现我只有数据库的备份,网站文件只有很老的备份。图片很多都看不到了。

今天无意中想起来互联网档案馆这个网站,http://archive.org/ (要翻墙),打开一看,我的图片都保存着呢,太感动了,真是个良心网站,十几年了,每天还孜孜不倦地帮互联网的几亿个网站做备份,赶紧一张一张图片都保存下来。博客终于恢复了原样。

博客从2004年开到现在,十二年了,虽然很少写,但网站一直开着,开着就证明我还活着,我发现我的友情连接又有一大批打不开了,十几年来,友情连接换了一批又一批,但有几个人还坚持开着博客呢?

作者

发表时间
评论 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下可以参考 这篇文章,从源里直接装可以参考 这篇文章

作者
分类

← 较早的 较新的 →