¿Cómo puedo solucionar el error fatal de RevSlider en el panel de control después de actualizar a PHP 7?

15 mar 2017, 19:45:52
Vistas: 69.7K
Votos: 55

Puedo acceder al lado público del sitio. Pero el panel de administración aparece en blanco.

El registro muestra un error que apunta al plugin 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

Aquí está el rastreo completo:

#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
2
Comentarios

RevSlider, según lo que entiendo, es un plugin específico para WordPress. Intenté usar https://revslider.stackexchange.com/, pero me da un error 404.

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

Esto podría no ser apropiado aquí, pero fue muy útil para mí ya que este error hizo que el acceso al administrador fuera completamente inaccesible después de una actualización de PHP, y solucionarlo no fue una cuestión de depurar lo que sucedió, sino simplemente aplicar la solución del comentario aceptado.

Antti Haapala Antti Haapala
21 dic 2018 17:09:09
Todas las respuestas a la pregunta 1
9
104

Pude solucionar el error aplicando un parche al plugin RevSlider en mi servidor como se documenta aquí.

En revslider/includes/framework/base-admin.class.php, cambié la siguiente línea (línea 21 en mi versión) de:

private static $arrMetaBoxes = '';         //cajas de opciones que se añadirán al post

a:

private static $arrMetaBoxes = array();    //cajas de opciones que se añadirán al post
15 mar 2017 19:45:52
Comentarios

Puedes usar [] en lugar de array().

fuxia fuxia
15 mar 2017 19:49:45

¡Funcionó para mí en 2018!

eyal_katz eyal_katz
20 sept 2018 01:57:38

¡Excelente trabajo! Acabo de actualizar a PHP 7.2 en mi servidor y esto me fue muy útil.

Spencer Bigum Spencer Bigum
23 dic 2018 01:44:07

¡Hola, gracias por esta respuesta! En mi caso, estaba usando la plantilla churchHope de WordPress y recibía un error en /churchope/lib/revslider/inc_php/framework/base_admin.class.php:72. Lo solucioné cambiando private static $arrMetaBoxes = ""; a private static $arrMetaBoxes = array();

Paul Preibisch Paul Preibisch
11 abr 2019 21:42:32

Te debo una cerveza. +1 y por la explicación, en php7 hay restricciones más estrictas en los tipos, así que una cadena vacía no puede tener algo añadido mientras se trata como un array. Como mencionó @fuxia [] también funciona bien aquí y es más al estilo Python.

akahunahi akahunahi
23 may 2019 08:46:25

en mi caso revslider estaba en: mi_url/wp-content/plugins/revslider/inc_php/framework

Alessandro Mattiuzzi Alessandro Mattiuzzi
6 ago 2019 16:57:17

¡Nov 2019 y funciona!!!

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

Nos encontramos con este error hoy al migrar a PHP 7.3 y esta solución temporal funcionó perfectamente. Como mencionó @AlessandroMattiuzzi, la ruta parece haber cambiado en versiones recientes del plugin.

bwright bwright
24 mar 2020 12:06:14

¡2021 en PHP 7.4 este parche aún funciona! ¡Gracias!

xjlin0 xjlin0
17 ene 2021 02:00:53
Mostrar los 4 comentarios restantes