2016-09-14 110 views
1

刚刚下载了这个插件(WordPress的PDF光浏览器),但它不会激活。我发现我已经更新我的PHP版本,但之后我这样做,只会给错误:PHP代码不能在Wordpress插件中工作

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()可以正常运行。如果我猜对了,那就是我需要回答的问题

回答

1

PDF Light viewer需要Imagemagik or GMagik.另外,它需要Imagick或Gmagick PECL库。

我的猜测是你的Wordpress服务器需要安装这些。静态的getXMagick()函数必须实例化PECL Imagick对象(包装Imagemagik),但不能将其作为PHP安装的一部分。

要安装的ImageMagick在Ubuntu(对于PHP 5): apt-get install imagemagick php5-imagick

+0

这将是服务器本身,是否正确?该插件确实有Imagick的一部分。 – Cyberio

+0

正确。您是否有权限或可以将插件添加到服务器上的PHP安装中?但是,如果它带有它,那么我希望插件能够找到它。 – jray

+0

我刚刚回顾了插件附带的文档。它说Imagemagick是一个需求,但它看起来并不像它提供的(如果是的话,我会感到惊讶)。 – jray