Php APC

来自站长百科
跳转至: 导航、​ 搜索

导航: 上一页 | ASP | PHP | JSP | HTML | CSS | XHTML | aJAX | Ruby | JAVA | XML | Python | ColdFusion

APC(Alternative PHP Cache)是一个免费强劲的开源框架,用来缓存和优化php中间码.它是一种php的缓存解决方案,目前以pecl方式发布,有消息说将会出现在 php 6版本的内核.

APC的安装[ ]

linux类平台

  • 从http://pecl.php.net/package/apc 下载相应版本
  • 解压
  • 进入源码目录
  • 执行php安装目录下的bin/phpize
  • ./configure --enable-apc --enable-apc-mmap --with-apxs=path-to-apache/bin/apxs --with-php-config=path-to-php/bin/php-config
  • make && make install
  • 将生成的apc.so加载到php.ini(extesion=apc.so,注意extension_dir的设置)

一般地,编译生成的.so会在php安装路径的lib/php/extensions 下

  • 重启,apache

windows平台

  • 只要到http://snaps.php.net/ 的相应分支下下载php_apc.dll,再在php.ini中加载即可.

用法[ ]

apc的用法比较简单,只有几个函数,列举如下:

apc_clear_cache() 清除apc缓存内容.默认(无参数)时,只清除系统缓存,要清除用户缓存,需用'user'参数

apc_define_constants ( string key, array constants [, bool case_sensitive] ) 将数组constants以常量加入缓存

apc_load_constants (string Key)取出常量缓存

apc_store ( string key, mixed var [, int ttl] )在缓存中保存数据

apc_fetch ( string key )获得apc_store保存的缓存内容

apc_delete ( string key )删除apc_store保存的内容

利用APC缓冲PHP脚本来提高服务器性能[ ]

在一个有PEAR支持的PHP5系统中, APC的安装和它的执行一样简单,在根目录下执行:#pecl install APC

一些分发版本或许会提供APC二进制的程序包,所以您也许可以利用urpmi php-apc或apt-get来安装php-apc。

一旦APC被安装之后,编辑/etc/php.ini加入以下内容:

extension=apc.so[apc]apc.enabled = 1apc.shm_segments = 1apc.shm_size = 30apc.optimization = 0apc.ttl = 7200apc.user_ttl = 7200apc.num_files_hint = 1000apc.mmap_file_mask = /tmp/apc.XXXXXX

这样做是为了激活APC缓冲,而不是启动优化器(当前处于实验阶段)。除了激活APC之外,应该注意的重要选项还有apc.ttl和apc.user_ttl,它们定义了脚本保持在缓存中的时

间,以秒计。这一点对于处理提供很多文件的服务器来说真的很重要;它将防止缓存因被陈旧的条目装满而无法为新的条目提供缓冲的情况出现。

您也可以调整apc.num_files_hint,它为APC提供了一个近似值,表示了被请求的或包括在您系统中PHP源文件的数量。其缺省值是1000,但是如果您知道要处理更多文件,可以将值

增加到一个最接近的估计值。同样地,如果文件会少很多的话,也可以相应地减少。

最后,在APC源程序包中,有一个叫apc.php的脚本,它用来从APC缓存中获取详细的数据,使得您能够进一步调整APC的设置。要使用这个脚本的话,您就需要编辑脚本和改变

ADMIN_PASSWORD选项。通过调整选项,并利用这个脚本确定这种变化所产生的效果,您就可以真正提高PHP脚本的性能了。

相关阅读[ ]

参考资料[ ]