По умолчанию PHP функции imageantialias() и imagerotate() отключены в модуле gd.so для Debian и его производных. Сделано это ради обеспечения стабильности и безопасности. Задумка может и благая, но раз мы ищем решение этой проблемы, значит оно того стоит. Например Drupal не захочет работать с урезанным модулем.
По сути достаточно пересобрать PHP и установить новый полноценный пакет php5-gd. Сделать это совсем не сложно, хотя описание будет достаточно подробное. Собирать будем из исходников, что само по себе интересно =)
Далее все действия производятся в рутовом терминале или в обычном через команду sudo. Для наглядности буду писать без sudo.
Для начала проверим, что включен нужный нам репозитарий в файле /etc/apt/sources.list. Нужно найти эту строчку и убедится, что она не закомментирована:
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib
Устанавливаем необъходимый для любой сборки пакет и к нему в придачу остальные:
apt-get install build-essential
Переходим в папку сборки исходников и получаем нужные нам пакеты:
cd /usr/src
apt-get source php5-gd
По сути нам нужно собрать установочные пакеты с PHP5, но возьмём мы оттуда только модуль gd.so для замены.
Далее устанавливаем пакеты нужные для сборки php5-gd, их немало, но отступать уже поздно:
apt-get build-dep php5-gd
Теперь нужно изменить опцию сборки PHP5, которая нас так не устраивает. Переходим в папку с исходниками php5 (в зависимости от версии директория может называться иначе), открываем на редактирование файл с опциями сборки:
cd php5-5.2.6.dfsg.1
nano ./debian/rules
Находим (Ctrl + W) строку:
--with-gd=shared,/usr --enable-gd-native-ttf \
И заменяем её на нижеописанную, убрав «,/usr»:
--with-gd=shared --enable-gd-native-ttf \
Далее запускаем сборку пакета и идём пить чай с плюшками:
dpkg-buildpackage
Процесс завершается успешно и нам нужно переустановить расширение или заменить старый gd.so на новый (старый на всякий случай бекапим). Переустановить пакет можно так:
dpkg -i php5-gd_5.2.6.dfsg.1-1+lenny9_i686.deb
Имя пакета может отличаться в заисимости от версии системы и самих исходников.
Во втором варианте, чтобы быстро найти нужный нам файл, можно воспользоваться нехитрым но крайне полезным способом:
updatedb
locate gd.so
В моём случае активный (старый) модуль gd.so лежал в папке /usr/lib/php5/20060613/. А новый свежесобранный в папке /usr/src/php5-5.2.6.dfsg.1/debian/php5-gd/usr/lib/php5/20060613/. Заменяем старый файл на новый.
Ну и наконец-то перезагружаем сервер:
/etc/init.d/apache2 restart
Проверяем phpinfo() и удостоверяемся, что модуль GD примерно такой — bundled (2.0.34 compatible)
Файлы из каталога /usr/src/php5-5.2.6.dfsg.1/ можно удалить, а можно и оставить, на всякий случай.
[…] Source: http://www.rebelcode.ru/php/polnotsennyy-modul-php5-gd-dlya-debian-i-ubuntu/#more-28 Share this:TwitterFacebookLike this:НравитсяБудьте первым, кому понравился этот . PHP ← Установка Virtualbox Guest additions в Ubuntu Server […]