Использование GD с php для создания миниатюр возвращает внутреннюю ошибку сервера - PullRequest
0 голосов
/ 24 декабря 2010

Я использую GD для создания миниатюр, как требуется на моем php-сайте, но всякий раз, когда я запускаю функцию:

include('resize-class.php');
function getThumbnail($album,$name){
    if ($name != ""){
    $file = dirname(__FILE__).'/pics/'.$album.'/'.$name.'.jpg';
    $thumb = substr($file,0,-4).'-thumb.jpg';
    if (!file_exists($thumb)){
        $newThumb = new resize($file);
        $newThumb -> resizeImage(100,100,"crop");
        $newThumb -> saveImage($thumb);
    }
    $thumbi = pathinfo($thumb);
    $thumb = '<img src="pics/'.$album.'/'.$thumbi['basename'].'" />';
    }else{
        $thumb = "";
    }
    return $thumb;
}

, где resize-class.php - это фрагмент кода, используемый в этом руководстве: http://net.tutsplus.com/tutorials/php/image-resizing-made-easy-with-php/

Журнал ошибок Cherokee получает следующую ошибку:

[25/12/2010 00:16:30.759] (error) handler_fcgi.c:83 - Parsing error: unknown version

И создается пустой jpeg, а остальная часть сценария завершается (поэтому пользователь видит значок нужного изображения вместо нужного эскиза).Сценарий отлично работал на моей машине с Windows, используя веб-сервер Abyss, но когда я запустил его на Debian, используя cherokee и php-cgi, он не работал.И я убедился, что extension=gd.so установлен в php.ini в / etc / php5 / cgi / и /etc/php5/cli/.

phpinfo() показывает, что модуль GD загружен, но в остальномЯ не знаю, почему это не работает.Вы можете просмотреть phpinfo () здесь

1 Ответ

0 голосов
/ 24 декабря 2010

Быстрый поиск в Google по сообщению об ошибке показал, что аналогичная ошибка была вызвана обновлением Cherokee, а перезапуск исправил его.Возможно, перезагрузка всей машины будет работать?В противном случае в коде нет ничего недопустимого, и у вас очень новая версия PHP - и, поскольку остальная часть сценария hte завершена, определенно где-то возникла проблема конфигурации.

...