0

我正在使用 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 并且脚本的其余部分完成(因此用户看到一个损坏的图像图标而不是所需的缩略图)。该脚本在我使用 Abyss web 服务器的 Windows 机器上运行良好,但是当我在 Debian 上使用 cherokee 和 php-cgi 运行它时它不起作用。我确保extension=gd.sophp.ini/etc/php5/cgi/ 和 /etc/php5/cli/ 中设置了它。

phpinfo()显示GD模块已加载,否则我不知道为什么它不起作用。您可以在此处查看 phpinfo()

4

1 回答 1

0

对错误消息的快速谷歌搜索表明类似的错误是由 Cherokee 更新引起的,并且重新启动修复了它。也许重新启动整台机器会起作用?否则,代码没有任何无效,并且您拥有一个非常新版本的 PHP - 由于 hte 脚本的其余部分已完成,因此肯定是某个地方的配置问题。

于 2010-12-24T14:34:18.920 回答