首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP警告: PHP启动: murmur:无法初始化模块,用错误的API模块编译

PHP警告: PHP启动: murmur:无法初始化模块,用错误的API模块编译
EN

Stack Overflow用户
提问于 2018-03-15 23:33:54
回答 1查看 633关注 0票数 1

我试图在centos 7上针对php7编译一个自定义php扩展。

当我在扩展目录中运行phpize时,我得到:

代码语言:javascript
复制
Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303

但是,当我安装模块并运行php时,我得到:

代码语言:javascript
复制
PHP Warning:  PHP Startup: murmur: Unable to initialize module
Module compiled with module API=20131226
PHP    compiled with module API=20160303
These options need to match

我已经采取了一些步骤来解决这个问题:

  • 删除php* -y
  • rm *来自/bin,/usr/bin
  • 验证系统上不存在其他phpize或php-config。

已安装的php7:

代码语言:javascript
复制
rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils yum-config-manager --enable remi-php71
yum install -y php php-devel php-mbstring php-common php-pear php-pdo php-mysqlnd php-opcache php-intl php-bcmath php-gd php-pecl-amqp php-pecl-mailparse php-xml php-mcrypt php-imap php-ldap php-pecl-memcached php-process php-cli php-pecl-zip

编译了自定义扩展:

代码语言:javascript
复制
cd {extension dir}
phpize
./configure --enable-murmur
make

为什么phpize会告诉我这个扩展是针对phpize 20160303编译的,但是当它被PHP加载时,它说这个模块是根据Api 20131226编译的?

EN

回答 1

Stack Overflow用户

发布于 2018-03-16 00:06:25

我在扩展名目录中有一些以前编译过的文件。一旦我清除了文件,下一个编译就可以在php中完美地工作了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49310963

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档