PHP代码在Wordpress插件中不起作用

PHP代码在Wordpress插件中不起作用,php,wordpress,plugins,version,imagick,Php,Wordpress,Plugins,Version,Imagick,刚刚下载了这个插件(WordPress PDF Light Viewer),但它不会激活。我发现我必须更新我的php版本,但在更新之后,只会出现以下错误: Fatal error: Call to a member function getVersion() on a non-object in .../wp-content/plugins/pdf-light-viewer/controllers/Plugin.php on line 260 经过深入研究,我发现这行代码存在问题: $Imag

刚刚下载了这个插件(WordPress PDF Light Viewer),但它不会激活。我发现我必须更新我的php版本,但在更新之后,只会出现以下错误:

Fatal error: Call to a member function getVersion() on a non-object in .../wp-content/plugins/pdf-light-viewer/controllers/Plugin.php on line 260
经过深入研究,我发现这行代码存在问题:

$Imagick = static::getXMagick();
然后是:

$ImagickVersion = $Imagick->getVersion();
显然,前一行返回null,我找不到关于这段代码实际执行什么操作的任何信息,因为它在搜索中显示的唯一位置就是这个插件


因此,我想我需要找到一种方法将$Imagick作为一个对象,以便getVersion()可以在其上正确运行。如果我猜对了,这就是我需要回答的问题。PDF Light viewer需要另外,它需要Imagick或Gmagick PECL库

我猜您的Wordpress服务器需要安装这些。静态
getXMagick()
函数必须实例化一个PECL Imagick对象(它包装了Imagemagik),但在PHP安装中找不到它

要在Ubuntu上安装Imagemagick(适用于PHP 5):
apt get install imagemagick php5 imagick

这将在服务器本身上,对吗?插件中确实包含Imagick。正确。您是否有权或能够向服务器上的PHP安装添加插件?但是如果它是随附的,那么我希望这个插件能够找到它。它说Imagemagick是一个需求,但它看起来不像是提供的(如果是的话,我会感到惊讶)。我的主机确实说Imagemagick在他们所有的服务器上都是打开的(),尽管它说但是,它只能通过命令行、cron作业或网页上的PHP代码访问。命令行选项的路径如下所示:/usr/bin/convert/usr/bin/mogrify“那么,我猜我需要重新编写插件代码,以便以这种方式访问它?嗯,插件使用的是
Imagick
对象,而Inmotionhosting的建议是通过命令行使用Imagemagick。他们的PHP示例甚至使用命令行。他们引用了'Imagick'对象(),但在示例中没有使用它。我会打电话给他们的支持人员,确保您的共享主机上安装了Imagick PECL扩展。