Назад | Перейти на главную страницу

Нужно ли мне перекомпилировать php, чтобы включить библиотеку GD?

У меня есть библиотека 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. Ваш пробег может отличаться ™, но я не думаю, что сильно.