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() станет таким: