phpThumb缓存问题

时间:2009-10-30 12:24:09

标签: php thumbnails phpthumb

我正在使用phpThumb - PHP缩略图生成器。

'phpThumb.config.php':

$PHPTHUMB_CONFIG['cache_maxage'] = 10; 

$PHPTHUMB_CONFIG['cache_maxsize'] = 1000; 

$PHPTHUMB_CONFIG['cache_maxfiles'] = 10;   

但它什么也没做......我在922个文件中得到108 MB ......而且它还在不断增长。

4 个答案:

答案 0 :(得分:2)

对我而言,解决方案非常简单。在使用默认设置安装phpthumb之后,行$PHPTHUMB_CONFIG['document_root'] = realpath((getenv('DOCUMENT_ROOT') && ereg('^'.preg_quote(realpath(getenv('DOCUMENT_ROOT'))), realpath(__FILE__))) ? getenv('DOCUMENT_ROOT') : str_replace(dirname(@$_SERVER['PHP_SELF']), '', str_replace(DIRECTORY_SEPARATOR, '/', dirname(__FILE__))));并非未公开,并且一切似乎都正常。

但是 / tmp目录在高频率页面上很短的时间内运行空间不足

解决方案:这很简单,因为phpthumb在其$ PHPTHUMB_CONFIG ['cache_directory']目录中需要WRITE PERMISSIONS。因此,请确保执行php脚本(通常是apache)的用户具有写入权限,否则将使用/ tmp目录并填充缓存文件。

希望这有帮助!

答案 1 :(得分:0)

我会检查运行php的用户是否对缓存文件夹有写入权限。

您检查过php错误日志吗?

答案 2 :(得分:0)

搞笑,在 phpThumb.config.php 默认行中取消注释:

$PHPTHUMB_CONFIG['document_root'] = realpath((getenv('DOCUMENT_ROOT') && ereg('^'.preg_quote(realpath(getenv('DOCUMENT_ROOT'))), realpath(__FILE__))) ? getenv('DOCUMENT_ROOT') : str_replace(dirname(@$_SERVER['PHP_SELF']), '', str_replace(DIRECTORY_SEPARATOR, '/', dirname(__FILE__))));

..和phpThumb成功将文件保存到'cache'dir,但无法删除任何文件。

我设置了$ PHPTHUMB_CONFIG ['document_root'] mannualy并且它有效!

所以,如果$ PHPTHUMB_CONFIG ['document_root']是正确的,请仔细检查。

答案 3 :(得分:-2)

很简单,你只需删除缓存文件夹即可。 phpThumb稍后会重新创建你的拇指。