安装pecl/imagick会给我模块api编译错误


Installing pecl/imagick giving me module api compile errors

我已经安装了php 5.4.0,并从Pecl重新安装了Imagick。这样做的时候,一切都很好,但当apache启动时,会记录以下错误,并且扩展没有按应有的方式加载:

PHP Warning:  PHP Startup: imagick: 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

我一辈子都不明白"20090626"是从哪里来的。phpize -v显示:

Configuring for:
PHP Api Version:         20100412
Zend Module Api No:      20100525
Zend Extension Api No:   220100525

当pecl安装过程开始时,也会打印相同的内容。我该如何更正?

当我从源代码编译php时,我遇到了和您完全相同的问题。并且安装了以前的php5-pear、php5-cli。我不知道为什么,但我不得不删除所有仍标记为"php5"的文件。

要查找文件(也应该在OSX上工作):

find / -name php5

然后只做rm -r /paths/that/are/listed/php5

完成后,只需进入新php安装的bin文件夹,并使用pecl重新安装mongo驱动程序。我必须做:sudo ./pecl uninstall mongo然后是sudo ./pecl install mongo

安装完成后,如果您使用的是php fpm,请不要忘记使用sudo service php-fpm restart

然后它应该工作了,通过键入(所有这些仍然在php/bin文件夹中)进行检查:

sudo ./php -v

如果你没有收到任何错误,你应该很好地去:)

//立方体水槽