Установка бібліотеки GD, PHPClub - клуб розробників PHP
Установка бібліотеки 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. Що можна зробити в цьому випадку?
Зрушений новачок
А якщо завантажити заново PHP та перекомпілювати?
Я завантажував окремо GD (потрібно був для програми на C++) і там у доках спеціально було зазначено, що "якщо ви PHP-програміст, то ви не там копаєте: качайте PHP". Тобто окремої ліби для PHP там немає.
Зрушений новачок
А мануал почитати:
Для того, щоб забезпечити GD-support configure PHP --with-gd[=DIR], де DIR є GD base install directory. Для того, щоб скористатися bundled version of the GD library (яка була перша bundled в PHP 4.3.0), use the configure option --with-gd. У Windows, ви включаєте GD2 DLL php_gd2.dll як розширення в php.ini. The GD1 DLL php_gd.dll був removed in PHP 4.3.2. Крім того, що preferred truecolor image functions, such as imagecreatetruecolor(), вимагає GD2.
Щоб запобігти GD support в PHP 3 add --without-gd для вашої configure line.
Збільшення здатності GD до handle more image formats by specifying the --with-XXXX configure switch to your PHP configure line.
Якщо компілити пхп з параметром --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 буде вбудовано в ПХП і більше нічого прописувати ніде не потрібно.
мабуть valyala мав на увазі компеліти версію під линух під вікна чи як?
Може, простіше завантажитиphp_gd2.dllу комплекті з ПХП на сторінці http://www.php.net/downloads.php та не мучитися з компіляцією під вінду?
Потім копіюємо скомпіловані статичні бібліотеки в папкуwin32build/lib, а всі файли *.h, що відносяться до цих бібліотек - в папкуwin32build/include. Після цього хрестимося і намагаємось скомпилити ПХП з підтримкою GD (опція--with-gdабо--with-gd=shared, якщо вам потрібна dll'каphp_gd2.dll (4)).