2

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

'phpThumb.config.php':

$PHPTHUMB_CONFIG['cache_maxage'] = 10; 

$PHPTHUMB_CONFIG['cache_maxsize'] = 1000; 

$PHPTHUMB_CONFIG['cache_maxfiles'] = 10;   

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

4

4 回答 4

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'] 目录上写入权限。因此,请确保执行您的 php 脚本的用户(通常是 apache)具有写入权限,否则 /tmp 目录将被使用并填满您的缓存文件。

希望这可以帮助!

于 2010-04-21T13:28:54.003 回答
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__))));

..and phpThumb 成功将文件保存到“缓存”目录中,但无法删除任何文件。

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

因此,请仔细检查 $PHPTHUMB_CONFIG['document_root'] 是否正确。

于 2009-10-30T16:17:45.427 回答
0

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

你检查过php错误日志吗?

于 2009-10-30T14:08:11.457 回答
-2

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

于 2010-05-19T03:30:37.180 回答