Discuz!使用imagemagic添加水印的相关问题
来源:程序员人生 发布时间:2014-02-21 06:36:25 阅读次数:2903次
用imagemagic很久了,缩略图正常,在后台预览水印也正常,但帖子发的图就是无法添加水印,很是困惑,今天没事又翻了翻资料,就严格按照资料做了一遍,竟然成功了,现在论坛在使用imagemagic的情况下,贴内图片可以添加水印了,最关键是在保证水印质量100的情况下,图片并没有像在GD下变大一倍。很欣慰。分享出来给同样困惑的童鞋看看。以前有人发过帖子,可惜都关闭了,无法回复,单起一个帖子,有兴趣的就严格按照下面办法修改。肯定能够实现。环境就是Win2003 IIS+PHP+MySQL+ DZ7.2或Coppermine+ImageMagick 主机。下面的文字都是其他文章写得,我摘录过来。估计很多人没有仔细阅读所以导致不能成功!共同学习吧!
Windos2003提高了安全性能,不能直接支持运行ImageMagick,需要给cmd.exe的权限添加IUSR_XXX以及IWAM_XXX以读取+执行权限才能运行ImageMagick的convert.exe。
方法:浏览到c:windowssystem32cmd.exe,在cmd.exe的快捷方式上点右键,在弹出的菜单上点安全/添加/高级/立即查找,找到IUSR_XXX以及IWAM_XXX确定,给
IUSR_XXX以及IWAM_XXX以读取+执行权限就可以了.大多数在Windos2003系统下DZ7.2用ImageMagick “水印图片无法生成或不符合生成水印的条件”或者CPG不能用ImageMagick缩图,问题都出在这里。
ImageMagick设置绝对路径 ,却依然会提示你"水印图片吧无法生成或不符合生成水印的条件,请检查设置"
解决办法:
1.你不必将php_imagick.dll或者CORE_RL_magick_.dll增加到php.ini
2.如果你运行于php安全模式,增加ImageMagick安装路径到php.ini,例如 safe_mode_exec_dir=C:/Programs/ImageMagick。
3.还需要修改%systemroot%/system32/cmd.exe的权限。
请赋予IUSR_XXX以及IWAM_XXX以读取+执行权限。
如果你php没有运行于安全模式的话,只需要给cmd.exe的权限添加
IUSR_XXX以及IWAM_XXX以读取+执行权限就可以了.
4,ImageMagick的安装路径 “C:/ImageMagick/” 即可( 末尾要加“/”,建议不用C:ImageMagick)。
5,php.ini 没有开启安全模式,cmd.exe添加了everyone读取和运行的权限,windows2003系统+IIS +DZ7.2。
DZ后台,ImageMagick 程序安装路径:C:/imvlq/ (ImageMagick-6.2.7-6-Q16-windows-static.exe安装在C:/imvlq/,
此文件夹有everyone读取和运行的权限) 水印图片类型: GIF 类型水印 结果,在后台预览水印效果时出现“水印图片无法生成或不符合生成水印的条件,请检查设置” 寻求解决方案?
经过多方面试验,查出是系统权限问题。.........多次试验,让我发现ImageMagick要想正常运行,涉及到的权限有如下。
C盘(系统盘)要有user读取和运行权,C:imvlq(就是ImageMagick安装路径)要有user读取和运行权, cmd.exe要有user读取和运行权,站点文件,如:我的站点放在 C:web文件夹里,那么这个web文件夹要有user不但要有读取和运行,还要有修改权限,一定要有user(不建议用everyone)。C盘的其他文件夹可以不用继承上级文件权限。以上几点权限足以解决出现“水印图片无法生成或不符合生成水印的条件,请检查设置”问题,
生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠