【问题标题】:Wordpress Error: A TimThumb error has occuredWordpress 错误:发生 TimThumb 错误
【发布时间】:2012-04-07 16:31:03
【问题描述】:

我在将 wordpress 安装到新域后遇到错误。 我已联系主题开发者,但未能解决问题。

我在复制图片链接时收到以下错误:

警告:touch() [function.touch]: Utime failed: Permission denied in /home/domain/public_html/wp-content/themes/folioway/core/thumb.php on line 190 警告:无法修改标头信息 - 标头已由 /home/domain/public_html/wp-content/ 中的(输出开始于 /home/domain/public_html/wp-content/themes/folioway/core/thumb.php:190)发送第 413 行的主题/folioway/core/thumb.php 发生 TimThumb 错误 发生以下错误: 可以注意创建 index.html 文件。 查询字符串:src=/wp-content/uploads/2012/03/CoffeetabeBox-custom_web1.jpg&w=187&h=187&zc=1&q=90 TimThumb 版本:2.8.2

除了一些 CSS 之外,我没有修改任何其他内容。

缩略图不会出现在页面上,但是图像会出现在灯箱中。

我已将缓存文件夹的权限设置为 777,但这并没有解决问题。

任何帮助将不胜感激。谢谢。

【问题讨论】:

  • 这不是 TimThumb 错误,这是您服务器上的权限错误,恰好发生在一些 TimThumb 代码中。查看第 190 行发生了什么,并找出您的 WP 代码无法读取的目录/文件。
  • touch() 在目录上使用总是返回 FALSE 并在 Windows 中的 NTFS 和 FAT 文件系统上打印“Permission denied”

标签: php wordpress


【解决方案1】:

已发送的标头通常是文件开头或结尾处的空白的症状 - 检查 timthumb.php 并确保在您之前没有空白行或空格

另一种可能性是 /wp-content/uploads/ 不能被网络服务器写入,但我认为第一个是原因。

【讨论】:

    【解决方案2】:

    我发现这里所指的缓存文件夹与 timthumb.php 位于同一文件夹中 - 找到该文件和相关的缓存文件夹并授予缓存文件夹 777 权限。

    【讨论】:

      【解决方案3】:

      我也遇到过,这是第二次了!

      如果您没有时间找出原因,但又想让它继续工作,只需重命名或删除您的 /cache 文件夹;然后,新建一个/cache文件夹,设置权限为777,就可以再次使用了。

      【讨论】:

      • 777 永远不是答案,777 永远是最糟糕的事情!
      【解决方案4】:

      src=/wp-content/uploads/2012/03/CoffeetabeBox-custom_web1.jpg&w=187&h=187&zc=1&q=90
      

      试着放一个“?”在.jpg和&w之间,所以会是这样的

      src=/wp-content/uploads/2012/03/CoffeetabeBox-custom_web1.jpg?&w=187&h=187&zc=1&q=90
      

      【讨论】:

        【解决方案5】:

        如果您使用的是基于 linux 的服务器,

        首先从配置文件中找到FILE_CACHE_DIRECTORY(例如在linux服务器中用vi commond打开文件)

        vi /system/web/esupu/wp-content/themes/gadgetry-parent/framework/timthumb/timthumb-config.php
        

        可能是这样的

        define('FILE_CACHE_DIRECTORY', '../../cache/');
        

        所以我们将缓存文件夹所有权更改为用户“www-data”,这是运行此 php 代码的 Apache Web 服务器的默认用户,

        sudo chown -hR www-data:www-data /system/web/esupu/wp-content/themes/gadgetry-parent/cache/
        

        另外,现在最好检查文件夹是否也可写(chmod 权限为 777)

        【讨论】:

          【解决方案6】:

          不要像其他人建议的那样使用 777,而是使用 755 到 /cache 文件夹。

          【讨论】:

            【解决方案7】:

            我只是删除缓存文件夹并刷新代码所在的页面,它开始工作。 我认为是文件权限的问题。

            【讨论】:

              【解决方案8】:

              我将此添加到 php.ini 文件中:

               display_errors = Off
               display_warnings = Off
               output_buffering = On
              

              【讨论】:

                【解决方案9】:

                TimThumb 是一个独立的开源项目,被许多 WP 插件使用。

                如果更新文件夹权限对您不起作用,另一个对我有用的解决方案是使用最新版本更新插件的 TimThumb 脚本。你可以在这里下载: https://timthumb.googlecode.com/svn/trunk/timthumb.php

                在我的例子中,这个文件位于 wp-content/plugins/events-manager/includes/thumbnails

                【讨论】:

                • 那个链接返回了 404 抱歉,似乎移到了 GitHub,链接在我的答案中
                【解决方案10】:

                对于在使用FiatLux Wordpress Theme 时遇到此问题的其他人,因为我在这里是解决方案:

                1. 像 Filezilla 一样打开 FTP
                2. 导航到您的站点/wp-content/themes/fiatlux/includes*
                3. 删除缓存文件夹
                4. 重新创建缓存文件夹,权限设置为 755
                5. 下载更新的timthumb.php file from GitHub并替换(我将旧的重命名为timthumb.old进行测试
                6. 如果您使用媒体服务器/CDN,请务必将该站点添加到 TimThumb.php 文件中的 $ALLOWEDSITES 数组中

                *如果使用另一个 Wordpress 主题,则在 wp-content 的主题/插件文件夹中找到 TimThumb.php 文件和相应的缓存文件夹

                【讨论】:

                  猜你喜欢
                  • 1970-01-01
                  • 2013-11-07
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2017-06-21
                  • 1970-01-01
                  • 2022-07-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多