PHP7中文手册2018 带注释 最新chm版
APC 有两种缓存,可以缓存PHP的中间码opcode,和用户自己需要的数据到内存中。
http://pecl.php.net/package/apc 下载PHP 版本相对应的包
3.1.13 windows版本我PHP5.3版本有些notice级别的错误(可能只完美支持5.1和5.2),我其它地方找了3.1.10的windows版 可能是beta版本的问题,linux装得话还是装3.1.9好点
下好后放入php ext文件夹 php.ini 加入
extension = php_apc.dll
apc.rfc1867 = on
apc.max_file_size = 100M
post_max_size = 100M
upload_max_filesize = 100M
apc.enabled =1
apc.stat = 0 //这里默认是1 每次访问都会检查文件是否有改动需要缓存,改为0,则不会检查,可以很大的提高效率,但是每次源代码改动就需要重启apache后者执行apc_clear_cache(),这个函数可以写在另一个新建的文本中执行。
CI 使用缓存,$this->load->driver('cache', array('adapter' => 'apc', 'backup' => 'file'));apc用作缓存,不支持apc的话,用文件缓存。我修改了system/libraries/Cache/Cache.php 的__get方法,感觉原先的__get有点错误,不然后备缓存方式用不到。
public function __get($child)
{
$obj = parent::__get($child);
if ( ! $this->is_supported($child))
{
$this->_adapter = $this->_backup_driver;
}
return $obj;
}
改成
public function __get($child)
{
$obj = parent::__get($child);//这个是返回了第一个cache 适配器,但是下面判断如果不支持第一个的话,则要到备用的cache适配器
if ( ! $this->is_supported($child))
{
$this->_adapter = $this->_backup_driver;
$child = $this->_backup_driver;
$obj = parent::__get($child);
}
return $obj;
}
转载请注明:谷谷点程序 » PHP CI APC 使用记录