imagecreatefromjpeg или Сборка GD с поддержкой JPEG

Если вы это читаете, вероятно, вы столкнулись с тем, что "в php почему-то нет функции imagecreatefromjpeg"

Обычно отсутствовать эта функция может по двум причинам:
1 Нет самого модуля GD
2 Упомянутый модуль собран без поддержки jpeg (именно так у меня он зачем-то собирался по умолчанию)

Начать диагностику рекомендую с изучения секции GD в выводе phpinfo()

Если такой секции вообще не обнаружилось, значит, отсутствует сам модуль GD.
Нужно подключить его в php.ini, либо пересобрать php, включив этот модуль статически.

Если секция имеет следующий вид:

Это означает, что модуль GD есть, но поддержки jpeg в нем нет.

Кто в этом виноват разбирать не будем, а исправить это можно следующим образом:

1 Установить саму библиотеку libjpeg - из пакетов, либо с официального сайта - http://www.ijg.org/ (если, конечно, она еще не установлена)
2 Пересобрать php с указанием параметра --with-jpeg-dir=/path/to/libjpeg
Путь здесь указывается к бинарному варианту библиотеки, т.е. он должен совпадать с --prefix, использованным при сборке и установке libjpeg.
Стандартные "/" или "/usr/local" указывать не обязательно - с ними скрипты сборки разберутся самостоятельно.

Если это не помогло, и GD по-прежнему собирается без jpeg, нужно
1 зайти в директорию исходников php
2 выполнить "rm -f config.cache"
3 выполнить "make clean"
4 пересобрать php с --with-jpeg-dir

У меня такая последовательность действий даёт 100%-й результат. После правильной сборки (и перезапуска) php вывод phpinfo() станет таким: