本人按照网上的教程安装memcache,但是就无法成功使用memcache,在进程里是有进程memcached.exe的进程在跑着,在命令行里打php,出现一个memecache警告错误,内容如下:PHP Warning:  PHP Startup: memcache: Unable to initialize module
Module compiled with build ID=API20090626,TS,VC6
PHP    compiled with build ID=API20090626,TS,VC9
These options need to match
in Unknown on line 0本人的PHP版本是5.3.3,难道要换一个版本?有什么好的方法解决呢?

解决方案 »

  1.   

    在php.ini中 有没有开启了memecache扩展模块? 
      

  2.   

    无法初始化模块
    看看扩展有没有开吧php_memcache
      

  3.   

    PHP的警告:PHP启动:memcache中:无法初始化模块 
    模块编译生成的ID = API20090626的TS,在VC6 
    PHP的编译构建的ID = API20090626的TS,VC9 
    这些方案需要匹配 难道要换一个版本?是的
    连翻译都要别人来做,应该没有别的办法了
      

  4.   

    5.3.3的,我也遇到过和楼主一样的问题,包括出错提示也和楼主相同,最后我的解决方法是:
    把PHP版本降低到5.2.17稳定版,这个版本官方站点上就有。php.net
    找到网上对应的memcached.exe,体积大概几百K,先安装这个,找到对应的PHP5.2版的memecache.dll一般网上也只能找到这个版本。
    这个方法是本人测试的,当然也许还有其他好方法!
      

  5.   

    PHP源码经过编译后, 有几个需要注意的地方:编译器,线程安全,调试,版本
    编译器指编译时使用的编译器.
    线程安全指是否开启了PHP的线程安全层.
    调试指是否开启了PHP调试模式.
    Module compiled with build ID=API20090626,TS,VC6
    PHP compiled with build ID=API20090626,TS,VC9
    这两句是说:
    模块使用了20090626发行版的php构建工具, 开启线程安全, 未启用调试模式, 编译器为VC6
    PHP使用了20090626发行版的php构建工具, 开启线程安全, 未启用调试模式, 编译器为VC9
    所以, 你的问题在于两者使用了不同的编译器编译了.
    因此, 你需要用VC9以线程安全非调试模式重新编译一下你的memcache模块. 或者你从网上找别人编译好的.
      

  6.   

    我找到办法咯 写出来给你 
    http://pecl.php.net/package/memcache  在这网站上找版本./configure --enable-memcached \
    --with-libmemcached-dir=/usr/include/libmemcached --with-php-config=/usr/local/php/bin/php-config \
    --with-zlib-dir
    Make && make install会出现一个路径记录下来 进入php配置文件进行配置
    extension= "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/memcache.so"
    这样php就能够支持 memcache了