Инсталиране на GD библиотеката, PHPClub - PHP Developers Club
Инсталиране на GD библиотека
Имам проблем с изобразяването на графики с PHP. Имам PHP, компилиран с команда--with-gd=shared. Извинете за възможния ламеризъм, но какво означава атрибутът „споделен“? Доколкото разбирам, вместо това трябва да се посочи пътят до библиотеката? Или не? Изтеглих GD, инсталирах го, библиотекатаlibgd.so.2.0.0се появи в папки/usr/local/libи/usr/lib. Опитах се изрично да посоча пътя до тази библиотека в php.d/, PHP се кълне, че библиотеката е „невалидна или не php“. Имам PHP 4.3.9, Apache 2.0.52, Asplinux 10. Какво мога да направя в този случай?
Изместен новак
И ако изтеглите PHP отново и прекомпилирате?
Изтеглих отделно GD (беше необходимо за програма на C ++) и там беше изрично посочено в доковете, че "ако сте PHP програмист, значи копаете на грешното място: изтеглете PHP." Тоест, няма отделна библиотека за PHP.
Изместен новак
И прочетете ръководството:
За да активирате поддръжката на GD, конфигурирайте PHP --with-gd[=DIR], където DIR е основната директория за инсталиране на GD. За да използвате препоръчителната пакетна версия на GD библиотеката (която беше включена за първи път в PHP 4.3.0), използвайте опцията за конфигуриране --with-gd. В Windows ще включите GD2 DLL php_gd2.dll като разширение в php.ini. GD1 DLL php_gd.dll беше премахнат в PHP 4.3.2. Също така имайте предвид, че предпочитаните функции за истински цветни изображения, като imagecreatetruecolor(), изискват GD2.
За да деактивирате поддръжката на GD в PHP 3, добавете --without-gd към реда за конфигуриране.
Подобрете възможностите на GD за обработка на повече формати на изображения, като посочите превключвателя --with-XXXX configure към вашия ред за конфигуриране на PHP.
Ако компилирате php с опцията --with-gd=shared, тогава GD ще бъде компилиран като отделен модул (gd.so под Unix илиphp_gd2.dll под Windows). В този случай трябва изрично да свържете GD към PHP. Има два начина: 1) напишете ред в php.ini extension=gd.so за Unix или extension=php_gd2.dll за Windows 2) напишете реда dl('gd.so'); в началото на скрипта, който използва GD функции; // под unix dl('php_gd2.dll'); // под Windows
Ако посочите само --with-gd, тогава GD ще бъде вграден в PHP и нищо друго не трябва да се пише никъде.
явно valyala имаше предвид да компилира версията под linux под windows или какво?
Може би е по-лесно да изтеглитеphp_gd2.dllв комплект с PHP на страницата http://www.php.net/downloads.php и да не страдате от компилиране под Windows?
След това копираме компилираните статични библиотеки в папкатаwin32build/libи всички *.h файлове, свързани с тези библиотеки, в папкатаwin32build/include. След това се прекръстваме и се опитваме да компилираме PHP с поддръжка на GD (опция--with-gdили--with-gd=shared, ако имате нужда от dll'kaphp_gd2.dll).