2012-01-26 2 views
2

Я установил часть кода на веб-сайт, который включает в себя функции gd. После отладки, я пришел к выводу, чтоImagecreatefrompng() - Ошибка связи была сброшена ошибка

$src = imagecreatefrompng($s); 

вызывает ответ сервера: «Соединение сброшено» Даже если изменить код на:

$src = @imagecreatefrompng($s); 

происходит Та же ошибка. Я проверил версию php, проверил, установлена ​​ли и установлена ​​ли gd-библиотека, но все в порядке. В error_log ничего нет. Кроме того, путь к файлу в порядке, файл существует, а другие функции могут обращаться к файлу (например, fopen или file_get_contents), поэтому никаких проблем с правами нет.

У кого-нибудь есть идея?

Редактировать: Файл указан на локальном сервере.

+0

Эй, Эрнест, это не похоже на все, что может быть вызвано GD. Не могли бы вы попытаться написать базовый файл GD php, чтобы узнать, сохраняется ли проблема? попробуйте что-то вроде примера отсюда: http://php.net/manual/en/function.imagestring.php –

+0

Получаете ли вы изображение с удаленного сервера? Если это так, вы должны использовать 'imagecreatefromstring (file_get_contents ($ s)); сначала. (http://php.net/manual/en/function.imagecreatefromstring.php) – Quasdunk

+0

Shai Mishali: Я пробовал первый пример с сайта, с которым вы связались, и результат был успешным. –

ответ

1

Хмм, если вы не можете получить доступ к серверу с помощью командной строки, у вас могут быть некоторые головные боли, отслеживающие это. 2 вещи, которые приходят на ум:

  1. Это маловероятно, но возможно libpng не установлен, или Г.Д. не был скомпилирован ш поддержки/PNG. Запустите phpinfo() из браузера и найдите gd раздел, вы должны увидеть Поддержка PNG «включена».
  2. Изображение не может быть PNG-изображением! Я знаю, что это дурацкое, но это может случиться, просто называя файл .png не делает файл PNG, ха-ха. Если у вас есть ImageMagick вы можете использовать программу identify, чтобы проверить, вот бежать от моего ноутбука:

    $ отождествлять ~/прозрачный-pixel.png ~/прозрачно-pixel.png PNG 1x1 1x1 + 0 + 0 8- бит DirectClass 2.79KB 0.010u 0: 00,009

есть probly некоторые другие программы, которые вы можете использовать, чтобы проверить изображение действительно PNG.

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