我正在使用phpThumb - PHP缩略图生成器。
'phpThumb.config.php':
$PHPTHUMB_CONFIG['cache_maxage'] = 10;
$PHPTHUMB_CONFIG['cache_maxsize'] = 1000;
$PHPTHUMB_CONFIG['cache_maxfiles'] = 10;
但它什么也没做......我在922个文件中得到108 MB ......而且它还在不断增长。
答案 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稍后会重新创建你的拇指。