У меня есть библиотека GD на моем сервере установлена и включена, но в команде настройки в php.info говорится:
"--without-gd"
Есть ли способ включить его через рут или надо перекомпилировать?
РЕДАКТИРОВАТЬ: это то, что показано ниже в разделе «GD».
GD Support enabled GD Version bundled (2.0.34 compatible) FreeType Support enabled FreeType Linkage with freetype FreeType Version 2.2.1 GIF Read Support enabled GIF Create Support enabled JPG Support enabled PNG Support enabled WBMP Support enabled XBM Support enabled
Вот мой сценарий тестирования:
//begin php header('content-type: image/jpg'); $watermark = imagecreatefrompng('ninja.jpg'); $watermark_width = imagesx($watermark); $watermark_height = imagesy($watermark); $image = imagecreatetruecolor($watermark_width, $watermark_height); $image = imagecreatefromjpeg($_GET['src']); $size = getimagesize($_GET['src']); $dest_x = $size[0] - $watermark_width - 5; $dest_y = $size[1] - $watermark_height - 5; imagecopymerge($image, $watermark, $dest_x, $dest_y, 0, 0, $watermark_width, $watermark_height, 100); imagejpeg($image) imagedestroy($image); imagedestroy($watermark); //end php
Попробуйте включить error_reporting (E_ALL); и укажите в браузере URL-адрес изображения. Прокомментируйте заголовок типа, чтобы увидеть любые сообщения об ошибках, которые могут быть скрыты, если ваш браузер отображает только неработающее сообщение pict. И исправьте ту недостающую точку с запятой, о которой говорил Бен.
Изменить: и очистить $ _GET ['src'], возможно, вы открываете большую дыру в безопасности.
Командная строка, показанная под Настроить команду отражает параметры, с которыми был создан двоичный файл, не какие модули доступны в настоящее время. Посмотрите ниже основные Конфигурация заголовок, чтобы увидеть, б-г модуль загружен. Если нет, то установите php-gd
package и перезапустите / перезагрузите httpd.
Моя копия php пришла с --without-gd
в соответствии с phpinfo()
- Я только что раскомментировал ;extension=php_gd2.dll
в php.ini и GD работает нормально.
Ubuntu 10, Zend сервер
Это imagecreatefrompng('ninja.jpg')
опечатка? (т.е. загрузка JPEG в imagecreatefrompng
который ожидает PNG).
Когда я загружаю JPEG в imagecreatefrompng
, он показывает только URL-адрес изображения, как вы описали. Когда я загружаю изображение водяного знака в формате PNG, оно работает нормально.
Примечание: у меня Windows, похоже, у вас Linux. Ваш пробег может отличаться ™, но я не думаю, что сильно.