2008-09-24 5 views
2

Это происходит только на реальном сервере. На многострочных серверах разработки изображение создается, как ожидалось.Сгенерированное изображение с использованием PHP и GD отключается

Прямой эфир: Red Hat

$ php --version 
PHP 5.2.6 (cli) (built: May 16 2008 21:56:34) 
Copyright (c) 1997-2008 The PHP Group 
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies 

GD Support => включена GD Version => в комплекте (2.0.34 совместимый)

DEV: Ubuntu 8

$ php --version 
PHP 5.2.4-2ubuntu5.3 with Suhosin-Patch 0.9.6.2 (cli) (built: Jul 23 2008 06:44:49) 
Copyright (c) 1997-2007 The PHP Group 
Zend Engine v2.2.0, Copyright (c) 1998-2007 Zend Technologies 

GD Поддержка => включена GD Version => 2,0 или выше

<?php 
$image = imagecreatetruecolor($width, $height); 

// Colors in RGB 
$white = imagecolorallocate($image, 255, 255, 255); 
$black = imagecolorallocate($image, 0, 0, 0); 

imagefilledrectangle($image, 0, 0, $width, $height, $white); 

imagettftext($image, $fontSize, 0, 0, 50, $black, $font, $text); 
imagegif($image, $file_path); 
?> 

В идеальном мире я бы хотел, чтобы сервер в реальном времени и сервер-разработчик запускали один и тот же дистрибутив, но на реальном сервере должен быть Red Hat.

Мой вопрос: кто-нибудь знает конкретные отличия, которые могут привести к тому, что большая часть изображения будет отрезана с помощью поставляемой в комплекте версии GD?

EDIT: У меня не хватает памяти. В файлах журналов ошибок не генерируется. Что касается php, изображение генерируется правильно. Вот почему я считаю, что это проблема GD, связанная с поставляемой в комплекте версией.

+0

Если живым сервером должен быть Red Hat, почему сервер разработки не может быть Red Hat (или CentOS, если проблема связана с контрактами на поддержку)? – ceejayoz 2008-09-24 18:46:56

+0

Потому что я развиваюсь на своей личной машине. Мне не совсем невозможно настроить коробку Redhat, но я бы предпочел не тратить на это время. – 2008-09-24 19:07:26

ответ

2

Возможно, у вас заканчивается память или что-то подобное? Вы дважды проверяли все лог-файлы и т. Д.?

0

Сопротивление 100% и всегда в одном месте? В противном случае это может быть проблема с ресурсами - время для выполнения сценария или ограничения памяти. Попробуйте настроить параметры php.ini, перезагрузить веб-сервер, проверить.

0

Зависит ли он от изображения?

Недавно я обнаружил странную ошибку/функцию в PHP & GD.

При попытке изменить размер и редактировать JPEG-файлы со всем белым фоном (c. 3MB), это провалится. Он работал с другими изображениями, которые были больше (c. 4MB) и более сложными фонами.

Я выяснил, что, когда GD открывал изображения для редактирования, белые обратные изображения были увеличены по сравнению с более сложными изображениями. Это соотношение для некоторых изображений заставило PHP/GD потерпеть неудачу и разрезать изображения наполовину.

Уильям

0

Вы имели значение $ ширины выхода, чтобы увидеть, является ли это правильно?

0

Возможно, изображение не отрезано. Это может быть отрезанный текст.

imagettftext($image, $fontSize, 0, 0, 50, $black, $font, $text); 

TTF-шрифт имеет накладные расходы и прокладки. Попробуйте сделать более крупный холст, если вы получите тот же результат.

 Смежные вопросы

  • Нет связанных вопросов^_^