Browse Source

add config for imagick lib

master
filesite 4 weeks ago
parent
commit
abac002276
  1. 24
      FAQ.md
  2. 13
      README.md
  3. 3
      conf/app.php
  4. 8
      themes/beauty/controller/SiteController.php

24
FAQ.md

@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
* [怎么设置局域网内访问拥有刷新、设置封面等管理权限?](#怎么设置局域网内访问拥有刷新、设置封面等管理权限)
* [外网访问怎么设置允许当前IP访问拥有刷新、设置封面等管理权限?](#外网访问怎么设置允许当前IP访问拥有刷新、设置封面等管理权限)
* [我的设备cpu性能较差,缩略图显示有点慢且cpu占用较高怎么解决?](#我的设备cpu性能较差缩略图显示有点慢且cpu占用较高怎么解决)
* [在启用Imagick扩展后,CPU占用过高或者大图片缩略图无法生成怎么解决?](#在启用Imagick扩展后,CPU占用过高或者大图片缩略图无法生成怎么解决)
* [更多问题如何联系?](#更多问题如何联系)
@ -265,6 +266,29 @@ machete家庭相册在设计的时候考虑到在嵌入式设备中运行,缩 @@ -265,6 +266,29 @@ machete家庭相册在设计的时候考虑到在嵌入式设备中运行,缩
```
## 在启用Imagick扩展后,CPU占用过高或者大图片缩略图无法生成怎么解决?
Imagick库的特性是生成的缩略图画质更高,但缺点是CPU占用比较高。
使用最新版filesite/machete的docker镜像,在自定义配置中加上开启配置项就能使用Imagick库来生成缩略图:
```
"enable_lib_imagick": true
```
请在启动容器的时候根据你的服务器配置,指定容器最大能使用的内存和cpu数量,
这将改善缩略图生成,避免因为过高的CPU占用导致php进程被docker杀死从而无法生成大图片的缩略图。
例如***1G内存双核cpu服务器***,允许最大使用512M内存,1.5个cpu核心:
```
docker run --name machete -p 1080:80 \
-m 512m \
--cpus="1.5" \
-v /d/图片目录/:/var/www/machete/www/girls/ \
-itd filesite/machete \
beauty
```
## 更多问题如何联系?
请打开官方网站查看底部QQ群和微信:

13
README.md

@ -118,6 +118,19 @@ docker run --name machete -p 1080:80 \ @@ -118,6 +118,19 @@ docker run --name machete -p 1080:80 \
| webdirectory | /var/www/machete/www/navs/ |
如果开启Imagick库支持,请在启动容器的时候根据你的服务器配置,指定容器最大能使用的内存和cpu数量。
例如***1G内存双核cpu服务器***,允许最大使用512M内存,1.5个cpu核心:
```
docker run --name machete -p 1080:80 \
-m 512m \
--cpus="1.5" \
-v /d/图片目录/:/var/www/machete/www/girls/ \
-itd filesite/machete \
beauty
```
### 查看容器
```

3
conf/app.php

@ -67,6 +67,9 @@ $configs = array( @@ -67,6 +67,9 @@ $configs = array(
//视频、音乐meta在浏览器端缓存时长,单位:秒
'meta_client_cache_seconds' => 300,
//开启Imagick扩展,缩略图生成可能慢一点,但是会更清晰、稳定
'enable_lib_imagick' => false,
//列表页缩略图尺寸设置
'small_image_min_width' => 360, //缩略图最小宽度设置,以确保清晰度
'small_image_min_height' => 270, //缩略图最小高度设置,以确保清晰度

8
themes/beauty/controller/SiteController.php

@ -504,12 +504,12 @@ Class SiteController extends Controller { @@ -504,12 +504,12 @@ Class SiteController extends Controller {
$img_data = null;
try {
if (class_exists('Imagick')) { //Imagick库支持
if (!empty(FSC::$app['config']['enable_lib_imagick']) && class_exists('Imagick')) { //Imagick库支持
$imagick = new Imagick($img_filepath);
$naturalWidth = $imagick->getImageWidth();
$naturalHeight = $imagick->getImageHeight();
$imgType = $imagick->getImageMimeType();
$imgProps = $imagick->getImageGeometry();
$naturalWidth = $imgProps['width'];
$naturalHeight = $imgProps['height'];
//小图片则保持原图尺寸
if ($naturalWidth <= $min_width || $naturalHeight <= $min_height) {

Loading…
Cancel
Save