DX-watermark插件无法预览及上传图片报imagesx()错误的解决办法

WordPress插件2年前 (2023)更新 小萝卜头
432 0 0
近段时间发现不少网友通过搜索引擎来到这,而且刚还帮刘海江博客修复了这个问题,所以张戈就重新整理整篇文章的标题、措辞及步骤,改成易被搜索,且易懂的菜鸟教程,不再是以前的记事录了。
希望出了问题的朋友可以从中得到帮助。更新感言:真可谓是爱折腾就会出问题,出问题就能学知识,学知识了继续折腾,接着继续出问题…..根本停不下来的节奏啊!总结就是,不折腾不幸福。。。废话够多了,进入正题~

一、DX-watermark 水印添加失败的报错信息

昨天上传图片时又发现一个小问题,DX-watermark 不能工作了,上传图片完成后的处理阶段直接报错,图片倒是上传成功了,但是水印却未添加成功:

Warning:imagesx() expects parameter 1 to be resource, null given in /home/.../public_html/wp-content/plugins/dx-watermark/dx-watermark.php on line 132
Warning:imagesy() expects parameter 1 to be resource, null given in /home/.../public_html/wp-content/plugins/dx-watermark/dx-watermark.php on line 134
Warning:imagecreatetruecolor() [<a href="https://zhang.ge/function.imagecreatetruecolor">function.imagecreatetruecolor</a>]: Invalid image dimensions in /home/.../public_html/wp-content/plugins/dx-watermark/dx-watermark.php on line 137
Warning:imagecopy() expects parameter 1 to be resource, boolean given in /home/.../public_html/wp-content/plugins/dx-watermark/dx-watermark.php on line 139
Warning:imagecopy() expects parameter 1 to be resource, boolean given in /home/.../public_html/wp-content/plugins/dx-watermark/dx-watermark.php on line 143
Warning:imagecopymerge() expects parameter 2 to be resource, boolean given in /home/.../public_html/wp-content/plugins/dx-watermark/dx-watermark.php on line 144
Warning:imagedestroy() expects parameter 1 to be resource, null given in /home/.../public_html/wp-content/plugins/dx-watermark/dx-watermark.php on line 63

二、DX-watermark 水印效果预览图片无法显示

忘记截图了,具体就是在设置图片水印后,无法预览,预览区域是个无法加载的 [×],即无法看到刘亦菲的靓照。。。。但是不影响功能,上传的图片还是可以加水印的【当然,前提是没有上面所述的问题】。

 三、问题分析及解决过程

令我奇怪的是,在更换博客空间之前都没有问题,而更换之后,同一个空间中新建的 CMS 网站却没问题,新站代码和老站几乎一样,只是主题和数据库不同而已。换了几个主题试了下,还是一样的问题,所以 Debug 目标转移到了数据库:

进入phpMyAdmin后台,找到对应数据库,通配搜索了一下 dx-watermark,在浏览了多项键值后终于发现了问题,原来我更换了网站空间,但是这个插件调用图片文件的路径却保持了原空间的路径,不出错才怪!在替换为正确路径保存后,水印立即就可以使用了!而且预览也正常了!菲菲终于回来了。。。

四、总结下解决方法:

写在前面:以下部分涉及到网站数据库,所以修改前强烈建议先整站备份一份,以免误操作造成不可挽回的后果!

①、进入 phpMyAdmin=>选定博客对应数据库=>搜索=>如图输入 dx-watermark-options,全选并执行:

DX-watermark插件无法预览及上传图片报imagesx()错误的解决办法

②、如图点击浏览:

DX-watermark插件无法预览及上传图片报imagesx()错误的解决办法

③、编辑所有结果中的 option_value 栏位(应该只有 2 行),然后将相应路径全部更正为现用的主机的绝对路径:

DX-watermark插件无法预览及上传图片报imagesx()错误的解决办法

更改后,在 phpMyadmin 的页面空白处单击一下,就会自动保存了,回到插件设置页面,水印应该可以正常预览了,并且上传图片也不报错了,如果还是有问题,请再次检查数据库键值是否全部更改!

DX-watermark插件无法预览及上传图片报imagesx()错误的解决办法

Ps:至于如何查看现有主机的绝对路径,这你得去空间后台或 FTP 看了,很简单,就不赘述了!

下面附上动态的菲菲预览图,看图片的地址就知道了,是插件的动态预览地址:

DX-watermark插件无法预览及上传图片报imagesx()错误的解决办法

正常预览的图片(详见此图的 url)

教程到此就结束了,希望能帮到更多出此问题的小白站长吧!如有任何问题请留言联系。

收录于{张戈博客} 原文链接原文链接

© 版权声明

相关文章

暂无评论

暂无评论...