【问题标题】:Call to undefined function imagecreatefromwebp inside wordpress在 wordpress 中调用未定义的函数 imagecreatefromwebp
【发布时间】: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 吗?

标签: php wordpress


【解决方案1】:

它不起作用的原因可能有很多。但最常见的就是没有开启gd扩展。

打开 php.ini 文件并通过删除分号 (;) 来取消注释 ;extension=gd 的行。

所以把;extension=gd改成extension=gd

【讨论】:

  • 对不起,我想我已经解释清楚了。扩展在 php.ini 上启用,因为它在独立文件上工作。只有在 wordpress 内部不起作用
猜你喜欢
  • 1970-01-01
  • 2021-09-21
  • 1970-01-01
  • 2020-01-08
  • 2021-11-10
  • 1970-01-01
  • 1970-01-01
  • 2020-04-24
  • 2014-11-13
相关资源
最近更新 更多