2016-09-14 2 views
1

Просто скачал этот плагин (WordPress PDF Light Viewer), но он не активировался. Я нашел, что я должен был обновить PHP версии, но после того, как я сделал, что было бы только дать ошибку:PHP Code не работает в Wordpress Plugin

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(); 

Видимо предшествующая линия возвращает нуль, и я не могу найти какую-либо информацию о том, что этот код на самом деле делает, как единственное место, он показывает в поиске на этой вилке в.

Итак, мне кажется, мне нужно найти способ вытащить $ Imagick в качестве объекта, чтобы getVersion() мог нормально работать на нем. Если я правильно догадался, это вопрос, который мне нужен.

ответ

1

Для просмотра PDF-документа требуется Imagemagik or GMagik.. Кроме того, ему нужна библиотека PagL Imagick или Gmagick.

Я предполагаю, что ваш сервер 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