Я использую сценарий создания миниатюр PHP, который я использовал без проблем много раз в прошлом. В настоящее время я использую его без проблем на том же домене, с которым у меня сейчас проблемы.
Скрипт обрабатывает до точки. Он генерирует физические миниатюры и сохраняет их в заданном каталоге кеша, но не возвращает измененные изображения в браузер.
Изображение src имеет следующий формат:
<img src="thumbnail.php?file=sample/02.jpg&w=100&h=70&el=0&gd=0" />
Я подтвердил, что изображение существует и может отображаться в самом браузере.
Кроме того, PHP-скрипт загружается нормально, так как я проверил его, добавив «echo» для подтверждения.
Я установил этот скрипт в нескольких местах на сервере, и результат тот же. Я даже пробовал другие версии PHP Thumbnail Generators, и ни одна из них не выдает измененные изображения в браузерах.
Я проверил, что GD активен на моем сервере:
GD Support enabled
GD Version bundled (2.1.0 compatible)
FreeType Support enabled
FreeType Linkage with freetype
FreeType Version 2.4.2
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
libJPEG Version 6b
PNG Support enabled
libPNG Version 1.2.44
WBMP Support enabled
XBM Support enabled
PHP это версия 5.3.29
Imagemagick доступен и путь подтвержден как '/usr/bin/convert/'
,
Здесь вы видите результат:
http://demos.mitey.co.nz/image_processor/index.php
Все, что появляется, — это заполненные изображения вместо динамически созданных миниатюр.
Все соответствующие разрешения были установлены на 0777 или 0755, пробовал оба.
Это действительно не сложный сценарий для использования, и у меня было много раз в прошлом, но я не могу отладить все, что вызывает его сбой в этом случае.
У кого-нибудь есть идеи относительно того, что может помешать источнику изображения корректно обрабатывать содержащийся в нем PHP?
Я пробовал так много разных вещей, что больше не могу сосредоточиться на проблеме и придумать что-нибудь еще, чтобы попробовать.
РЕШЕНО: Я пытался загрузить изображения в скрипт из другого субдомена. Скрипт Thumbnail, который я использовал, чтобы разрешить загрузку изображений из другого домена, используя http
однако, в этом случае происходит сбой, когда дело доходит до функции PHP file_exists, которая не работает через http
протокол. Я удалил «http: //» часть пути к изображению, используя «str_replace», и заменил его на путь к файловой системе, т.е. / home / siteroot /, и все работает как положено. При использовании с изображениями в том же домене, что и сценарий создания миниатюр, сценарий будет рад, что полный путь ‘http: //’ останется. Не было никаких полезных сообщений об ошибках, чтобы указать на это.
Загрузите последнюю версию PHPthumb с Веб-сайт
Для генерации большого пальца см. документация
не забудьте изменить переменную в соответствии с вашими потребностями.
$thumbUrl = "somefolder/new.jpg";
$resizeWidth = "70"; // in pixels
$resizeHeight = "70"; // in pixels
$imageThumb = $directoryPath. "/phpThumb/phpThumb.php?src=" . $thumb1 . "&w=".$resizeWidth."&h=".$resizeHeight."&iar=1&hash=90e9d46c4d138a72574c52e31fbef0dc";
echo '<img src="'.$imageThumb.'" alt="filename.jpg" />';