Imagecreatefrompng () - ошибка подключения была сброшена - PullRequest
2 голосов
/ 26 января 2012

Я установил кусок кода на веб-сайте, который включает в себя функции GD.После отладки я пришел к выводу, что

$src = imagecreatefrompng($s);

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

$src = @imagecreatefrompng($s);

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

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

Редактировать: файл находится на локальном сервере.

1 Ответ

1 голос
/ 29 января 2012

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

  1. Это маловероятно, но возможно libpng не установлено или gd не скомпилировано с поддержкой PNG. Запустите phpinfo () из браузера и найдите раздел gd , вы увидите, что поддержка PNG 'включена' там.
  2. Изображение не может быть изображением PNG! Я знаю, что это странно, но такие вещи могут происходить, просто присвоение имени файлу .png не делает файл PNG, хаха. Если у вас есть ImageMagick , вы можете использовать для проверки программу identifier , вот мой прогон с моего ноутбука:

    $ identifier ~ / transparent-pixel.png ~ / transparent-pixel.png PNG 1x1 1x1 + 0 + 0 8-разрядный DirectClass 2,79 КБ 0,010u 0: 00,009

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...