【问题标题】:Loading extension apc for php5.4.6为 php5.4.6 加载扩展 apc
【发布时间】:2012-09-16 05:20:56
【问题描述】:

恐怕我在我的开发计算机上弄得一团糟,我需要一些帮助。基本上,我在 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 版本。

一切似乎都很顺利,但扩展仍然无法加载。它不会显示在 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 install 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/php5/20100525。

我该如何解决这个问题?

【问题讨论】:

    标签: php apc


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      sudo apt-get install php-apc
      

      会成功的。

      【讨论】:

      • 这不能解决问题。我已经编译了 PHP 5.4 并且无法加载 APC。你的答案安装 php5-common 和 php5-fpm(PHP 的另一个版本)
      • 我没有自己编译 PHP 5.4,但使用了上面提到的 ppa
      猜你喜欢
      • 1970-01-01
      • 2012-10-15
      • 2012-06-29
      • 1970-01-01
      • 1970-01-01
      • 2023-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多