Установка библиотеки GD

vk

Guest
Установка библиотеки GD

У меня возникла проблема с выводом графики с помощью PHP. У меня PHP скомпилирован с коммандой --with-gd=shared . Извините за возможное ламерство, но что означает атрибут 'shared'? Как я понимаю, вместо него должен указан путь к библиотеке? Или нет? Я скачал GD, установил, в папках /usr/local/lib и /usr/lib появилась библиотека libgd.so.2.0.0. Пробовал явно в php.d/ указать путь к этой библиотеке, PHP ругается что 'инвалидная или не php' библиотека.
У меня PHP 4.3.9, Apache 2.0.52, Asplinux 10.
Что можно сделать в этом случае?
 

untied

Сдвинутый новичок
А если скачать заново PHP и перекомпилировать?

Я загружал отдельно GD (нужно был для программы на C++) и там в доках специально было указано, что "если вы PHP-программер, то вы не в том месте копаете: качайте PHP". То есть отдельной либы для PHP там нет.
 

vk

Guest
untied:
Хм.. Понятно. Придется наверное все-таки переустанавливать PHP. Я и мучился так долго лишь для того, чтобы попробовать без переинсталляции.
А как насчет атрибута --with-gd? Кто -нибудь знает, что в нем указывать? Просто мой PHP конфил не я - по дефолту так стояло.
 

untied

Сдвинутый новичок
А мануал почитать:

To enable GD-support configure PHP --with-gd[=DIR], where DIR is the GD base install directory. To use the recommended bundled version of the GD library (which was first bundled in PHP 4.3.0), use the configure option --with-gd. In Windows, you'll include the GD2 DLL php_gd2.dll as an extension in php.ini. The GD1 DLL php_gd.dll was removed in PHP 4.3.2. Also note that the preferred truecolor image functions, such as imagecreatetruecolor(), require GD2.

To disable GD support in PHP 3 add --without-gd to your configure line.

Enhance the capabilities of GD to handle more image formats by specifying the --with-XXXX configure switch to your PHP configure line.
 

vk

Guest
А если GD идет в комплекте с PHP, то какую DIR указывать? Как я уже говорил, у меня PHP поставился с атрибутом --with-gd=shared. Хотя... Если параметр DIR необязательный, можно попробовать вчистую --with-gd поставить... А как насчет 'shared'? Ну ладно, попробую, потом скажу.
 

valyala

Новичок
Если компилить пхп с параметром --with-gd=shared , то GD скомпилится как отдельный модуль (gd.so под юниксом или php_gd2.dll под виндой). В этом случае нужно явно подключать GD к ПХП. Есть два способа:
1) прописать строчку в php.ini
extension=gd.so под юникс или extension=php_gd2.dll под винду
2) прописать в начале скрипта, использующего функции GD, строчку
dl('gd.so'); // под юникс
dl('php_gd2.dll'); // под винду

Если указать просто --with-gd , то GD будет встроено в ПХП и больше ничего нигде прописывать не нужно.
 

vk

Guest
Все это неплохо, но поиск файл gd.so не находит на компе... Вот...
 

FleX

Guest
Пожалуйста, кто-нибуть подробней расскажите как GD под вынь скомпелить или связку организовать из библиотек
с офф. для винды(про них написано, что не для php)

видимо valyala имел ввиду компелить версию под линух под окошки или как?
 

valyala

Новичок
Пожалуйста, кто-нибуть подробней расскажите как GD под вынь скомпелить или связку организовать из библиотек
Может, проще скачать php_gd2.dll в комплекте с ПХП на странице http://www.php.net/downloads.php и не мучаться с компиляцией под винду?

Ну а для извращенцев расскажу, как компилить GD под винду. Если вы ни разу не собирали ПХП под винду, тогда сперва прочтите это: http://docs.php.net/en/install.windows.building.html. Остальные могут читать дальше.
Для начала нам понадобятся следующие статические библиотеки: libjpeg.lib, freetype2.lib и libpng.lib.
- libjpeg.lib можно скомпилить из исходников:
ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/jpegsr6.zip
- freetype2.lib компилится из исходников:
http://gnuwin32.sourceforge.net/downlinks/freetype-src-zip.php
- libpng.lib собирается отсюда:
http://prdownloads.sourceforge.net/gnuwin32/libpng-1.2.8-src.zip?download

Затем копируем скомпиленные статические библиотеки в папку win32build/lib , а все *.h файлы, относящиеся к этим библиотекам - в папку win32build/include . После этого крестимся и пытаемся скомпилить ПХП с поддержкой GD (опция --with-gd или --with-gd=shared , если вам нужна dll'ка php_gd2.dll).
 

vk

Guest
Хех. А если вот такое решение - взять у кого-нибудь уже скомпиную библиотечку gd.so и прописать путь путь к ней?
 
Сверху