Ubuntu версий ранее 10.04 и расширение PHP5 - GD

Внимание: для Ubuntu версии 10.04 и старше данный документ уже не актуален.

Как известно, "из коробки" в Ubuntu пакет php5-gd идет собранным не как рекомендуют разработчики PHP - с библиотекой GD поставляемой в составе PHP, а с "оригинальной" библиотекой, которая умеет гораздо меньше вкусных вещей. В результате модули вроде imagecache и прочих в Drupal не получится использовать с такой сборкой по максимуму. Вот инструкция по сборке "кошерной" GD для корректной работы. Для сборки нам потребуется несколько дополнительных утилит, так что установим их:

sudo apt-get install build-essential debhelper fakeroot

Теперь получим исходники php5:

cd /usr/src sudo
apt-get source php5

Получим все пакеты, необходимы для сборки php5:

sudo apt-get build-dep php5

Перейдём в директорию с нашими исходниками:

cd php5-5.xxxx

Теперь нам и нужно указать, что php5 следует собрать с GD bundled. Для этого нужно отредактировать следующий файл:

sudo nano ./debian/rules

Теперь нужно найти в файле строку (в редакторе nano поиск запускается сочетанием Ctrl+W):

--with-gd=shared,/usr --enable-gd-native-ttf \

И заменить её на:

--with-gd=shared --enable-gd-native-ttf \

Теперь собираем пакет:

dpkg-buildpackage -rfakeroot

И устанавливаем его:

cd .. dpkg -i php5-gd_5.xxxxx.deb

Естественно, к тому моменту, как вы займетесь сборкой пакета версия у вас уже может быть другая. Указанная актуальна на момента написания этой заметки. Так что пакет, возможно, будет называться немного иначе. После установки пакета достаточно перезапустить Apache, чтобы ваши скрипты смогли работать уже с новой библиотекой:

/etc/init.d/apache2 restart

С помощью php-файла с вызовом функции phpinfo() проверьте, на всякий случай, какая версия библиотеки теперь у вас имеется (см. значение GD version). Должно быть что-то вроде: bundled (2.0.34 compatible). Теперь. При обновлениях системы apt будет норовить заменить вашу сборку пакета своей коробочной. Чтобы этого не происходило - надо будет сделать

aptitude hold php5-gd

Ну и потом внимательно следить за апдейтами. PS: Написано по мотивам http://aboutubuntu.ru/content/ubuntu-dlya-veb-razrabotchika-ili-kak-zapo... PPS: не рекомендую использовать сторонние репозитории как предлагает автор статьи оригинала. Можно вляпаться в неприятную ситуацию :)