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

时间:2018-03-15 23:33:55

标签: php centos php-7.1

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

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

Configuring for:
PHP Api Version:         20160303
Zend Module Api No:      20160303
Zend Extension Api No:   320160303

然而,当我安装模块并运行php时,我得到:

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

我已采取措施解决问题:

  • yum删除php * -y
  • rm php * from / bin,/ usr / bin
  • 验证系统中没有其他phpize或php-config

已安装php7:

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

编译自定义扩展程序:

cd {extension dir}
phpize
./configure --enable-murmur
make

为什么phpize会告诉我扩展是针对PHP Api版本20160303进行编译的,但当它被php加载时它表示该模块是针对Api版本20131226进行编译的?

1 个答案:

答案 0 :(得分:0)

我在扩展目录中有一些先前编译的文件。一旦我清除了文件,下一个编译就可以在php中完美运行。