【发布时间】:2021-02-18 16:22:19
【问题描述】:
我正在尝试制作一个下载图像的 wordpress 插件。我已经看到这个问题,有时从网络获取的文件,尽管具有 jpg 扩展名,实际上是 webp 格式。所以我做了一个简单的测试功能,看看一张图片是不是 webp 格式的:
if ($im = @imagecreatefromwebp($filename)) {
imagejpeg($im, $filename.'.jpeg', 100);
}
我已经在 wordpress 所在的同一台服务器上的测试文件中进行了测试,只是为了查看是否进行了转换并且确实有效。
然后我在 wordpress 插件中放入了相同的代码,但我得到了:
Call to undefined function imagecreatefromwebp()
这怎么可能?服务器是一样的,插件离测试文件只有一个文件夹。 wordpress 外部的测试文件可以工作,在 wopress 内部该功能不存在。 wordpress 是否禁用了一些基本的 php 功能?
【问题讨论】:
-
gd-extension 是否在 php.ini/php-setup 中为 php 设置的 webserver/fpm 部分加载/激活? -
肯定是的。在独立文件上它可以工作!
-
这里也有同样的问题。你找到解决办法了吗?
-
不是直接的。我创建了一个独立的
ConvertWebp.php,然后对该外部文件进行了 ajax 调用。糟糕的解决方案,但它有效。 -
请分享更多细节 - 你确定这两个文件使用相同的 php.ini 吗?