Cum pot repara eroarea fatală RevSlider din panoul de administrare după actualizarea la PHP 7?

15 mar. 2017, 19:45:52
Vizualizări: 69.7K
Voturi: 55

Pot accesa partea publică a site-ului. Dar panoul de administrare apare gol.

Jurnalul arată o eroare care indică către plugin-ul RevSlider:

PHP Fatal error: Eroare necaptată: operatorul [] nu este suportat pentru șiruri de caractere în /var/www/html/wp-content/plugins/revslider/includes/framework/base-admin.class.php:141

Iată traseul complet al erorii:

#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}
  aruncată în /var/www/html/wp-content/plugins/revslider/includes/framework/base-admin.class.php la linia 141, referrer: https://192.168.16.18/wp-admin/plugins.php
2
Comentarii

RevSlider, din câte am înțeles, este un plugin specific pentru WordPress. Am încercat să accesez https://revslider.stackexchange.com/, dar primeam eroare 404.

Chapman Atwell Chapman Atwell
12 mai 2018 02:18:47

Acest lucru s-ar putea să nu fie potrivit aici, dar a fost extrem de util pentru mine, deoarece această eroare a făcut imposibilă accesul la panoul de administrare după o actualizare PHP, iar remedierea nu a constat în depanarea problemei, ci doar în aplicarea soluției rapide din răspunsul acceptat.

Antti Haapala Antti Haapala
21 dec. 2018 17:09:09
Toate răspunsurile la întrebare 1
9
104

Am reușit să repar eroarea prin aplicarea unui hotfix pentru pluginul RevSlider pe serverul meu, așa cum este documentat aici.

În revslider/includes/framework/base-admin.class.php, am modificat următoarea linie (linia 21 în versiunea mea) de la:

private static $arrMetaBoxes = '';         //cutii de opțiuni care vor fi adăugate la postare

la:

private static $arrMetaBoxes = array();    //cutii de opțiuni care vor fi adăugate la postare
15 mar. 2017 19:45:52
Comentarii

Poți folosi [] în loc de array().

fuxia fuxia
15 mar. 2017 19:49:45

A funcționat pentru mine în 2018!

eyal_katz eyal_katz
20 sept. 2018 01:57:38

Excelentă treabă! Tocmai am actualizat la php 7.2 pe serverul meu și asta a fost foarte util!

Spencer Bigum Spencer Bigum
23 dec. 2018 01:44:07

Salut, mulțumesc pentru acest răspuns! În cazul meu, foloseam șablonul WordPress churchHope și primeam o eroare în /churchope/lib/revslider/inc_php/framework/base_admin.class.php:72 - am rezolvat-o schimbând private static $arrMetaBoxes = ""; în private static $arrMetaBoxes = array();

Paul Preibisch Paul Preibisch
11 apr. 2019 21:42:32

Îți datorez o bere. +1 și pentru explicație, în php7 ai restricții mai stricte asupra tipurilor, așa că un șir gol nu poate avea ceva adăugat în timp ce este tratat ca un array. După cum a menționat @fuxia, [] funcționează de asemenea bine aici și este mai "Pythonish".

akahunahi akahunahi
23 mai 2019 08:46:25

în cazul meu revslider se afla la: my_url/wp-content/plugins/revslider/inc_php/framework

Alessandro Mattiuzzi Alessandro Mattiuzzi
6 aug. 2019 16:57:17

Noiembrie 2019 funcționează!!!

Daniel M Sánchez Daniel M Sánchez
14 nov. 2019 22:23:17

Am întâlnit această eroare astăzi când am migrat la PHP 7.3 și această soluție a funcționat perfect. După cum a menționat @AlessandroMattiuzzi, calea pare să se fi schimbat în versiunile recente ale pluginului.

bwright bwright
24 mar. 2020 12:06:14

2021 pe PHP 7.4 acest patch încă funcționează! Mulțumesc!

xjlin0 xjlin0
17 ian. 2021 02:00:53
Arată celelalte 4 comentarii