一二三

wordpress主题使用timthumb无法生成略缩图
序·简介        最近给一客户搭建一个网站,使用wordp...
扫描右侧二维码阅读全文
28
2013/04

wordpress主题使用timthumb无法生成略缩图

序·简介

        最近给一客户搭建一个网站,使用wordpress程序,购买了一套英文版商业主题,运行环境是VPS,LNMP环境,遇到一些问题该主题调用略缩图使用的是timthumb,timthumb报错,无法正常工作。所有的略缩图都没法显示,查找了很久没有找到问题在哪里,可能是因为问题发生的太少了。

一、错误信息

错误信息:

A TimThumb error has occured

The following error(s) occured:

  • Could not find the internal image you specified.

 

二、问题解决方法    

1、问题原因

   问题原始是TimThumb无法找到图片,也即说TimThumb识别的路径跟图片所在的路径是有一些差异。

2、解决方案

    找到主题中的timthumb.php打开它,用Ctrl+F 查找到
define(‘VERSION’,’版本号’);
在它前面添加一行
$_SERVER['DOCUMENT_ROOT'] = '路径';
例如我的路径为/var/www/
$_SERVER['DOCUMENT_ROOT'] = '/var/www/';
保存后就可以解决问题了;有什么不明白的欢迎留言询问!
提示:如果直接复制无效,请手动输入,网页显示的为编辑器转换过的HTML代码,可能会出现一些差异。

如有疑问

如果你又什么疑问可以,在文章下方留言询问,请使用正确邮箱,当你得提问被回复时,系统会自动发送邮件提示你。

Last modification:August 30th, 2016 at 11:59 am

32 comments

  1. 防水中国

    希望对你有帮助,windows上面是不会出现这个问题的,因为cache没有权限,同时里面有一个index.html也要给777权限。今天就卡在了index.html没有给777权限。其实它提示的错误很清楚了,只是不懂英文唉

  2. doudo

    我的也是无法显示缩略图求教 楼主!!!www.qbaoba.com

    1. 希声OCO
      @doudo

      建议你检查下文件权限相关是否正常

      1. doudo
        @希声OCO

        cache 文件夹的权限么

        1. 希声OCO
          @doudo

          具体最好检查下日志,看看报的错时什么

  3. dxdragon

    博主,我也遇到了这个问题,自己没有搞定……我的博客dxdragon.cwsurf.de,我实际的WordPress的url是dxdragon.cwsurf.de/blog/,在其下面放了PHP探针,即dxdragon.cwsurf.de/blog/tz.php,看PHP相关参数(PHP页面根目录),貌似是不是主机不支持timthumb??帮忙看看吧,谢谢了

    1. 希声OCO
      @dxdragon

      是因为Rewrite的原因,timthumb无法找到文件,建议你不要用子目录绑定域名.http://dxdragon.cwsurf.de/blog/wp-content/themes/ChannelPro/timthumb.php?src=http://dxdragon.cwsurf.de/blog/wp-content/uploads/2014/12/WinDjView-80x80.jpg&h=80&w=80&a=t&zc=1 这个是你调用图片的方式,如果改成http://dxdragon.cwsurf.de/blog/wp-content/themes/ChannelPro/timthumb.php?src=http://dxdragon.cwsurf.de/wp-content/uploads/2014/12/WinDjView-80x80.jpg&h=80&w=80&a=t&zc=1这样就可以调用到图片了。

      1. 小鱼
        @希声OCO

        原来是这原因。完美解决。感谢博主

        1. 希声OCO
          @小鱼

          不客气

          1. 小鱼
            @希声OCO

            我zc参数选的是1,但是这样图片被裁剪后就不完整了(比如一个人物图片的被裁剪后头没了)如果选参数0的话图片又被拉伸变形了,这有没有什么比较好的解决办法?谢谢

            1. 希声OCO
              @小鱼

              这个没什么特别好的方法,我一般是特色图像用固定比例的照片。

              1. 小鱼
                @希声OCO

                好的,谢谢

      2. dxdragon
        @希声OCO

        谢谢博主,按照你的方法,已经搞定了~

  4. 李益达

    楼主,我也不能显示缩略图了,只是部分不能显示。www.tretars.com我的地址是多少...

    1. 希声OCO
      @李益达

      我看了你的博客了,缩略图是可以正常显示的。

      1. 李益达
        @希声OCO

        感觉不稳定

        1. 希声OCO
          @李益达

          测试了下,没有问题,图片都可以显示,一些无法显示的图片,单独去查看也是可以显示的,说明程序没问题,可能是你的空间给你的限制。建议沟通下你的空间提供方询问下,或者更换空间。

      2. 李益达
        @希声OCO

        没有,那是因为我把timthumb关掉了,但是导致了缩略图比例不一致。我现在开启了,仍然有不少不能显示,再帮忙看看吧

  5. alex

    嗯!!那我来折腾一下~~谢谢谢谢!!!!!!

  6. alex

    我刚刚瞎捣鼓,居然捣鼓成功了,就第一时间向前辈报告!

    我第一步按您所说,把server 路径改了下。。。

    第二步,又到wordpress后台控制里改动如下:

    设置 ——> 常规选项

    WordPress 地址(URL) www.ouhaosky.cn(原来是www.ouhaosky.cn/oh)
    站点地址(URL) www.ouhaosky.cn(原来是www.ouhaosky.cn/oh)

    虽然现在我的ouhaosky.cn这个网站能够显示预览特色图了,目的达到了。但是!我之所以把ouhaosky.cn 该网站的所有文件放在oh 里,是!因!为!oh的上级文件夹(也就是我的虚拟主机根目录下)还有另一个网站!也是基于WOrdpress的,也安装了一整套wordpress。。。。。该网站出现的问题和ouhaosky一样的。。。我按照ouhaosky的方法没能解决根目录网站的bug。。。现在ouhaosky的问题解决了,但是网页加载和显示狂慢。。。不知是不是两个在打架了。。。我想删掉根目录的网站,又不敢!!!好不容易搞定一个,别又出什么乱子啊!!!!

    1. 观察
      @alex

      根目录的那个网站,路径设置为:$_SERVER['DOCUMENT_ROOT'] = ‘D:/Hosting/11206612/html’;
      俩个网站的路径是不一样的,应该不会有什么问题。

  7. alex

    那个。。。还是要劳驾您。。。请问我要怎么修改?我的所有文件都是放在oh文件夹下的。。。主题的timthumb,php也不是我写的,我无从下手。。。求指点。。。劳驾您了!!!万分感激!!!

    1. 观察
      @alex

      $_SERVER['DOCUMENT_ROOT'] = ‘D:/Hosting/11206612/html/oh’;
      添加这个试试,应该可以的

  8. alex

    我马上来试一下!!!艾玛,突然感觉有万道金光从你身后射出!!!

  9. alex

    您好,首先谢谢您提供的悉心帮助,我找到了地址,并改写了如下:
    $_SERVER['DOCUMENT_ROOT'] = 'D:/Hosting/11206612/html/';

    define ('VERSION', '2.8');

    可还是原来的样子。。。

    我查了下预览图的链接地址还是原来的,例如:
    Query String : src=http://www.ouhaosky.cn/oh/wp-content/uploads/2013/07/bvl2.jpg&w=87&h=67&zc=1&q=100

    地址未发生更改。。。。

    我根目录下所有文件都是可读可写的。。。

    1. 观察
      @alex

      你应该是用rewrite绑定的域名
      你看如果用这种路径调用的话它就可以找到了,但是你得路径中多了一个oh,它就找不到了。

      http://www.ouhaosky.cn/wp-content/themes/teardrop/timthumb.php?src=http://www.ouhaosky.cn/wp-content/uploads/2013/07/gucci-cruise-2013-benjamin-grillon-04.jpg&w=490&h=250&zc=1&q=100

    2. 观察
      @alex

      而且你调用的方法也太正确,例如:
      http://www.oco3.com/wp-content/themes/u-design/scripts/timthumb.php?src=http://www.oco3.com/wp-content/uploads/2013/07/IMGP3320.jpg&w=400&h=0&zc=1&q=100

    3. 观察
      @alex

      我刚才看了你得网站,你得路径应该是 D:/Hosting/11206612/html/oh/

  10. alex

    您好,目前我也遇见了您上述的问题。我用的是Windows系统,在本地测试用的是XAMPP的集成环境,主题测试一切OK。可我把主题安装到godaddy服务器上之后,缩略图便无法预览(生成不了预览图),出现和您上述一样的问题。。。求指导。。。谢谢我timthumb的版本是2.8的。

    1. 观察
      @alex

      如果是虚拟主机的话,你可以用PHP探针先获取当前的路径,在像上文描述中的那样添加就可以了。

      1. alex
        @观察

        如您所示,我按照您的改过了,可是,还是没有预览图生成。。。

        <?php
        /**
        * TimThumb by Ben Gillbanks and Mark Maunder
        * Based on work done by Tim McDaniels and Darren Hoyt
        * http://code.google.com/p/timthumb/
        *
        * GNU General Public License, version 2
        * http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
        *
        * Examples and documentation available on the project homepage
        * http://www.binarymoon.co.uk/projects/timthumb/
        */

        $_SERVER['DOCUMENT_ROOT'] = 'http://www.ouhaosky.cn/oh/wp-content/uploads/';

        define ('VERSION', '2.8'); // Version of this script
        //Load a config file if it exists. Otherwise, use the values below.

        1. 观察
          @alex

          你填写的不对,我说的路径是指你用php探针探测到的路径。 例如我的路径是 /var/www/ ,你探测到的也应该是这种类似的路径的。我这里有一个php探针你可以下载回去上传到网站根目录上。
          下载地址:http://pan.baidu.com/share/link?shareid=4092251400&uk=923110146 解压后上传到网站根目录,然后查看探针探测到服务器参数中的探针路径 那就是你应该填写的。

Leave a Comment