Опубликовано

Столкнулся с проблемой, что в gd в дебиане урезанное до нельзя. Один из клиентов пожаловался, что у него не работает одна функция:
Fatal error: Call to undefined function imageantialias(). Начал искать решение и к сожалению быстрого решения данного вопроса нет. Единственный способ это пересобрать php-gd. Как это сделать я расскажу ниже.
Первое что нам необходимо сделать — это добавить репозитарий Debian с source.
Я использовал вот этот:
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

так же не забывайте, что Lenny ушло в архив Дебиана и поэтому sources.list у меня такой:

deb http://archive.debian.org/debian/ lenny main
deb-src http://archive.debian.org/debian/ lenny main
deb http://volatile.debian.org/debian-volatile lenny/volatile main
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

После того, как сделали изменения в sources.list делаем apt-get update и ждем когда информация о пакетах будет обновлена. После обновления нам необходимо поставить пакеты, которые понадобятся для сборки php5-gd делаем это при помощи команды:
apt-get install build-essential

После установки пакета переходим в папку /usr/src и выполняем следующие команды

cd /usr/src
apt-get source php5-gd

в директорию src будет скачет пакет php5-source и нам необходимо будет собрать сам php5. Но перед этим нам понадобиться поставить необходимые пакеты для компиляции php5-gd для этого мы используем команду:
apt-get build-dep php5-gd

Переходим в папку с сорцами php5 и изменяем файлик rules:
nano ./debian/rules

Меняем строку --with-gd=shared,/usr --enable-gd-native-ttf \ на --with-gd=shared --enable-gd-native-ttf \ и запускаем компиляцию:
dpkg-buildpackage

Я например не стал ждать пока php5 полностью скомпилируется и как только собралась gd.so я оставил компиляцию и заменил старый gd.so на новый. после чего необходимо перезапустить апач и у Вас будет нормальная, а не кастрированная поддержка gd в Debian

Share and Enjoy:
  • Мой Мир
  • Facebook
  • Twitter

Добавить комментарий