PHP 7로 업그레이드 한 후 대시 보드에서 치명적인 RevSlider 오류를 수정하려면 어떻게해야합니까? [닫은]


36

사이트의 공개 측에 액세스 할 수 있습니다. 그러나 대시 보드가 비어 있습니다.

로그에는 RevSlider 플러그인을 가리키는 오류가 표시됩니다.

PHP Fatal error:  Uncaught Error: [] operator not supported for strings in /var/www/html/wp-content/plugins/revslider/includes/framework/base-admin.class.php:141

전체 추적은 다음과 같습니다.

#0 /var/www/html/wp-content/plugins/revslider/admin/revslider-admin.class.php(1143): RevSliderBaseAdmin::addMetaBox('Revolution Slid...', '', Array, NULL)
#1 /var/www/html/wp-content/plugins/revslider/admin/revslider-admin.class.php(145): RevSliderAdmin->addSliderMetaBox()
#2 /var/www/html/wp-content/plugins/revslider/admin/revslider-admin.class.php(87): RevSliderAdmin->init()
#3 /var/www/html/wp-content/plugins/revslider/revslider.php(327): RevSliderAdmin->__construct('/var/www/html/w...')
#4 /var/www/html/wp-settings.php(304): include_once('/var/www/html/w...')
#5 /var/www/html/wp-config.php(81): require_once('/var/www/html/w...')
#6 /var/www/html/wp-load.php(37): require_once('/var/www/html/w...')
#7 /var/www/html/wp-admin/admin-ajax.php(22): require_once('/var/www/html/w...')
#8 {main}
  thrown in /var/www/html/wp-content/plugins/revslider/includes/framework/base-admin.class.php on line 141, referer: https://192.168.16.18/wp-admin/plugins.php

1
AFAICT 인 RevSlider는 Wordpress 전용 플러그인입니다. revslider.stackexchange.com을 시도 했지만 404입니다.
Chapman Atwell

3
이것은 여기에서는 적절하지 않을 수 있지만,이 오류로 인해 PHP 업그레이드 후 관리자에 액세스 할 수 없었으며,이를 수정하는 것은 발생한 문제를 디버깅하는 것이 아니라 허용 된 답변에서 핫픽스를 적용하는 문제였습니다.
Antti Haapala

답변:


67

여기에 설명 된 대로 내 서버에서 RevSlider 플러그인을 핫픽스하여 오류를 해결할 수있었습니다 .

에서가 revslider/includes/framework/base-admin.class.php, 나는 다음과 같은 라인 (. 난 내 버전의 21)을 변경 :

private static $arrMetaBoxes = '';         //option boxes that will be added to post

에:

private static $arrMetaBoxes = array();    //option boxes that will be added to post

8
[]대신 사용할 수 있습니다 array().
fuxia

2018에서 나를 위해 일했습니다!
eyal_katz

2
잘 했어! 내 서버에서 PHP 7.2로 업그레이드하면 편리합니다!
스펜서 Bigum

이 답변에 감사드립니다! 제 경우에는 churchHope 워드 프레스 템플릿을 사용하고 /churchope/lib/revslider/inc_php/framework/base_admin.class.php:72에서 오류가 발생했습니다-private static $ arrMetaBoxes = ""; 개인 정적 $ arrMetaBoxes = array ();
Paul Preibisch

나는 당신에게 맥주를 빚지고 있습니다. +1과 설명을 위해, php7에서는 타입에 대한 엄격한 제한이 있으므로 빈 문자열은 배열처럼 취급하는 동안 무언가를 추가 할 수 없습니다. @fuxia가 언급했듯이 []여기에서도 잘 작동하며 더 Pythonish입니다.
Ligemer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.