代码之家  ›  专栏  ›  技术社区  ›  JuCachalot

正在加载php5.4.6的扩展apc

  •  0
  • JuCachalot  · 技术社区  · 13 年前

    恐怕我把我的开发电脑搞得一团糟,我需要一些帮助。基本上,我在ubuntu上安装了php5.3.2,并安装了apt-get包,其中apc作为动态扩展加载。

    今天,我决定使用这个PPA升级到php5.4.6: https://launchpad.net/~ondrej/+archive/php5 。所以,我现在运行php5.4.6,但apc不会再加载了。

    所以我做了

    pecl uninstall apc 
    

    然后

    pecl install apc-3.1.13
    

    以确保我得到了一个与php5.4兼容的apc版本。

    Everythin似乎进展顺利,但扩展仍然无法加载。它不会显示在phpinfo()上。当然,我在php.ini中添加了extension=apc.so。

    我想我找到了问题的根源,但我不知道如何解决:

    根据我的phpinfo():

    PHP API                 20100412
    PHP Extension           20100525
    Zend Extension          220100525
    Zend Extension Build    API220100525,NTS
    PHP Extension Build     API20100525,NTS 
    

    当我这样做的时候,pecl安装apc,我得到:

    54 source files, building
    running: phpize
    Configuring for:
    PHP Api Version:         20090626
    Zend Module Api No:      20090626
    Zend Extension Api No:   220090626
    

    因此,apc.so将安装在/usr/lib/php5/20090626中,而不是/usr/lib/pphp5/20100525中。

    我该怎么解决这个问题?

    2 回复  |  直到 13 年前
        1
  •  0
  •   A23149577    13 年前

    只需将php二进制源代码中zend_modules.h中的API版本更改为phpinfo()中指示的php扩展API编号。

    例如,如果phpinfo()中的php扩展名API是20100525,则必须将zend_modules.h文件中的API编号更改为20100525并重新编译项目。

        2
  •  -2
  •   JuCachalot    13 年前

    我找到了解决这个问题的方法。一个简单的

    sudo apt-get install php-apc
    

    会成功的。

    推荐文章
    Matteo Codogno  ·  使用APC和MAMP
    11 年前