Сгенерированное изображение с использованием PHP и GD отключается

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

LIVE: 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 => включена 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 => 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); ?> 

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

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

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

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

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

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

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

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

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

Уильям

У вас было значение $ width output, чтобы увидеть, правильно ли оно?

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

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

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