PHP和模块API在CentOS上不匹配

时间:2014-04-24 01:38:50

标签: nginx centos php

我一直在使用Centmin帮助管理我的网络服务器一段时间。我刚刚启动了一个开发服务器来更新我当前的生产服务器。现在我有问题试图让PHP 5.4.27及其模块工作。目前,在php-fpm restart上抛出错误的唯一两个模块是memcache和memcached。

服务器正在运行Nginx和PHP-FPM

Starting php-fpm [24-Apr-2014 11:31:02] NOTICE: PHP message: PHP Warning:  PHP Startup: memcache: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match
 in Unknown on line 0
[24-Apr-2014 11:31:02] NOTICE: PHP message: PHP Warning:  PHP Startup: memcached: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match

我尝试过pecl升级,卸载和安装模块。我也试过用yum来安装它们。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您收到的错误是因为您尝试安装/升级的模块是使用不同版本的PHP构建的。

安装使用相同版本的PHP构建模块,或者只需手动编译模块,这很容易做到。

1) Download pecl module and untar
2) cd into module directory and phpize
3) ./configure
4) make && make install

确保模块也安装到正确的扩展目录中,以便php.ini可以加载它们。一些pecl模块也有特定的./configure选项,您可以在编译之前运行./configure --help来检查它们。