Компиляция расширения PHP Imagick для XAMPP 1.7.3 на OS X Lion - PullRequest
2 голосов
/ 16 августа 2011

У меня возникли проблемы с компиляцией и запуском расширения PHP Imagick с XAMPP 1.7.3 на OS X Lion.

Я получаю следующую ошибку в своем журнале ошибок PHP при запуске Apache (а расширение не отображается в выводе 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 я использовал PECL, поставляемый с XAMPP:

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

Когда меня попросили указать местоположение ImageMagick, я попробовал следующие пути (с тем же результатом):

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

Вы можете увидеть весь вывод здесь: https://gist.github.com/1149849

Кроме того, я попытался получить tar-файл Imagick PECL (3.0.1 и 3.1.0b) с веб-сайта PECL и собрать его с нуля:

/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 для ImageMagic, с тем же результатом (используя /opt/local в качестве пути во время компиляции).

Любой совет будет принят с благодарностью.

Примечание: для справки, я могу воспроизвести эту проблему на другом компьютере с OS X Lion.

1 Ответ

0 голосов
/ 16 августа 2011

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: запуск с 32-битным или 64-битным ядром

...