在OS X Lion上为XAMPP 1.7.3编译PHP Imagick扩展

时间:2011-08-16 19:16:23

标签: php apache xampp osx-lion imagick

我在OS X Lion上使用XAMPP 1.7.3编译和运行PHP Imagick扩展时遇到了一些麻烦。

启动Apache时,我的PHP错误日志中出现以下错误(扩展名未在phpinfo()输出中显示):

[16-Aug-2011 12:42:31] PHP Warning:  PHP Startup: Unable to load dynamic library '/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/imagick.so' - dlopen(/Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/imagick.so, 9): no suitable image found.  Did find:
    /Applications/XAMPP/xamppfiles/lib/php/php-5.3.1/extensions/no-debug-non-zts-20090626/imagick.so: mach-o, but wrong architecture in Unknown on line 0

我安装了XAMPP开发包。

我用Homebrew安装了Imagick 6.7.1-1:

brew install imagemagick
brew link imagemagick

要安装Imagick扩展,我使用了XAMPP提供的PECL:

cd /Applications/XAMPP/xamppfiles/bin
sudo ./pecl install imagick

当提示输入ImageMagick的位置时,我尝试了以下路径(结果相同):

/usr/local/bin
/usr/local/Cellar

您可以在此处查看整个输出:https://gist.github.com/1149849

此外,我尝试从PECL网站抓取Imagick PECL(3.0.1和3.1.0b)tar并从头开始编译:

/Application/XAMPP/xamppfiles/bin.phpize
./configure --with-imagick=/usr/local/bin --with-php-config=/Applications/XAMPP/xamppfiles/bin/php-config-5.3.1 
make
sudo make install
make test

您可以在此处查看输出:https://gist.github.com/1149875

我在各种网站上偶然发现了一些关于这个主题的文章,但没有一篇能帮助我解决这个问题。

我也尝试使用MacPorts for ImageMagic,结果相同(在编译期间使用/opt/local作为路径)。

非常感谢任何建议。

注意:为了记录,我可以在另一台OS X Lion机器上重现此问题。

1 个答案:

答案 0 :(得分:0)

PHP Warning: PHP Startup: Unable to load dynamic library '../imagick.so' {Snip}....no suitable image found. Did find: imagick.so: mach-o, but wrong architecture in Unknown on line 0

它清楚地说,扩展是存在的,但架构与你的内核不一样。也许你被引导到64位内核&尝试运行32version,反之亦然。

使用正确的拱门

启动内核

[1] Mac OS X v10.6: Starting up with the 32-bit or 64-bit kernel