liuda 发表于 2013/9/20 22:55

NexusPHP程序同一个服务器上的多个PT共用memcached

  Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。
  正由于memcached的上述优点,在NexusPHP代码中,默认使用memcached缓存系统,而有的服务器未能支持memcached,这种情况只能使用磁盘缓存了,方法请参照小樱的nexusphp使用文件缓存,支持未安装memcache的服务器。
  
  而我今天要详细讲解的是在如何一台支持memcached的服务器上搭建多个PT网站(下面以两个为例)。
  在同一台服务器上,两个拥有用一套代码的NexusPHP系统共用memcached系统,缓存会错乱。
  笔者测试情况为:
  本地配置好,测试没有任何问题的一套PT代码,上传到该服务器上后,出现大量反人类的状况:
    1.部分图标路径中出现整套代码中都没有的字符;
    2.皮肤的id与对应的皮肤不符,新添加皮肤不能使用;
    3.网站中出现大量个性化内容(来自另一个pt站)。
    4.首页所有pt站数据全部不对(来自另一个pt站)。
    。。。

  问题出现后尝试搜寻代码和数据库解决,最终失败。
  后面开始怀疑是缓存导致的数据错乱。方才经真红大神指点只有果然成功。
  现贴出教程:

1.下载解压附件得到class_cache.php文件,记事本打开,
找到195行,将WinCache改为Memcache。(如果不是memcahced自己灵活更改);

2.找到210行,将ANTSOUL_改为与服务器上现存PT代码中对应设置不同的任意字符。(只要不傻乎乎地改为中文或特殊字符就不会有问题)

3.将class_cache,php文件上传到/classes/下,替换原有文件。

4.大功告成!!

洎虐的我 发表于 2013/9/20 22:57

liuda 发表于 2013/9/20 23:02

洎虐的我 发表于 2013/9/20 22:57
very good

谢谢支持!!{:1897:}

小樱 发表于 2013/9/20 23:03

顶了个贴~~

沉醉在眼中 发表于 2013/9/21 11:18

manager 发表于 2013/9/21 12:25

顶下~

lxyzzz 发表于 2013/9/21 12:59

不明觉厉。。

痴人说梦 发表于 2013/9/25 18:30

比小新还帅 发表于 2013/9/27 11:00

唱单身情歌 发表于 2013/10/3 02:11

寂寞才说爱 发表于 2013/10/10 09:47

小樱 发表于 2013/10/30 16:20

lxyzzz 发表于 2013/9/21 12:59
不明觉厉。。

解决服务器架设多PT的问题

skycood 发表于 2014/7/12 16:52

非常不错的帖子!!!
页: [1]
查看完整版本: NexusPHP程序同一个服务器上的多个PT共用memcached