Компиляция PHP-GD на Mac OSX 10.5 - PullRequest
       8

Компиляция PHP-GD на Mac OSX 10.5

0 голосов
/ 21 февраля 2009

Я следовал полезным инструкциям здесь: Установка GD для PHP на Mac OS X 10.5 Leopard

И у меня есть каталог расширений в файле php.ini, например:

extension_dir = "/ usr / local / php / lib / php / extensions / no-debug-non-zts-20060613 /"

Но когда я пытаюсь загрузить GD, я получаю сообщение об ошибке:

PHP Startup: невозможно загрузить динамическую библиотеку '/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/gd.so' - (null) в Unknown в строке 0 GDB - протокол отладчика GNU => $ Редакция: 1,88 $

Это распространенная ошибка. Может кто-нибудь направить меня в правильном направлении.

Ответы [ 3 ]

1 голос
/ 06 октября 2009

У меня была точно такая же ошибка, и мне потребовалось несколько часов, чтобы выследить. Ответ заключается в том, что вам нужно убедиться, что вы компилируете правильную версию для своего процессора. В моем случае я не помнил, что PPC G5 является 64-битным процессором, и это не помогло, потому что я использовал 32-битные версии.

Я также обнаружил, что было полезно изменить две строки конфигурации, чтобы более точно настроить параметры для архитектуры PPC64 следующим образом

Для JPEG-6B:

СЛЕДУЮЩАЯ ЛИНИЯ НЕ РАБОТАЕТ ПРАВИЛЬНО:

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure --enable-shared

НО ЭТО ОДИН ДЕЛАЕТ (НА G5 КАК МИНИМУМ):

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS=" -arch ppc64 -g -Os -pipe -no-cpp-precomp" CCFLAGS=" -arch ppc64 -g -Os -pipe" CXXFLAGS="-arch ppc64 -g -Os -pipe" LDFLAGS="-arch ppc64 -bind_at_load" ./configure --enable-shared

Для Б-га:

СЛЕДУЮЩАЯ ЛИНИЯ НЕ РАБОТАЕТ ПРАВИЛЬНО:

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure --with-zlib-dir=/usr --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/X11R6 --with-freetype-dir=/usr/X11R6 --with-xpm-dir=/usr/X11R6

НО ЭТО ОДИН (НА G5 ПО СЛЕДУЮЩЕМУ):

MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS=" -arch ppc64 -g -Os -pipe -no-cpp-precomp" CCFLAGS=" -arch ppc64 -g -Os -pipe" CXXFLAGS="-arch ppc64  -g -Os -pipe" LDFLAGS=" -arch ppc64  -bind_at_load" ./configure --with-zlib-dir=/usr --with-jpeg-dir=/usr/local/lib --with-png-dir=/usr/X11R6 --with-freetype-dir=/usr/X11R6 --with-xpm-dir=/usr/X11R6
1 голос
/ 21 февраля 2009

Неверный путь к extension_dir.

0 голосов
/ 05 марта 2009

После новой установки PHP (например, для PHP, скомпилированного с помощью GD2 в Mac OS X ) это исправляет наиболее распространенные ошибки, связанные с не загружаемыми расширениями PHP (и, следовательно, не позволяющими PEAR и другие для начала).

Введите в Terminal.app:
sudo mv /usr/bin/php /usr/bin/php_back<br /> sudo ln -s /usr/local/php5/bin/php /usr/bin/php

Это делает резервную копию CLI PHP, который поставляется в комплекте с OSX, а затем символические ссылки на новое правильное расположение (будьте осторожны, так как это расположение может варьироваться в зависимости от установки каждого PHP, в этом случае вы должны заменить /usr/local/php5/bin/php на правильный маршрут к вновь установленному файлу).

...