Làm cách nào tôi có thể sửa lỗi RevSlider gây tử vong trong bảng điều khiển sau khi nâng cấp lên PHP 7? [đóng cửa]


36

Tôi có thể truy cập vào phía công cộng của trang web. Nhưng bảng điều khiển đi lên trống rỗng.

Nhật ký hiển thị lỗi chỉ vào 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

Đây là dấu vết đầy đủ:

#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
RevSlider, AFAICT, là một plugin dành riêng cho Wordpress. Tôi đã thử revslider.stackexchange.com , nhưng nó 404 cho tôi.
Chapman Atwell

3
Điều này có thể không phù hợp ở đây, nhưng hữu ích nhất với tôi vì lỗi này khiến việc truy cập quản trị viên hoàn toàn không thể truy cập được sau khi nâng cấp PHP và sửa lỗi không phải là vấn đề gỡ lỗi những gì đã xảy ra mà chỉ áp dụng hotfix từ câu trả lời được chấp nhận.
Antti Haapala

Câu trả lời:


67

Tôi đã có thể khắc phục lỗi bằng cách cập nhật plugin RevSlider trên máy chủ của mình như được ghi lại ở đây .

Trong revslider/includes/framework/base-admin.class.php, tôi đã thay đổi dòng sau (l. 21 của phiên bản của tôi) từ:

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

đến:

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

8
Bạn có thể sử dụng []thay vì array().
fuxia

Đã làm việc cho tôi vào năm 2018!
eyal_katz

2
Lam tôt lăm! Chỉ cần nâng cấp lên php 7.2 trên máy chủ của tôi và điều này có ích!
Spencer Bigum

Hi cảm ơn câu trả lời này! Trong trường hợp của tôi, tôi đang sử dụng mẫu wordpress của Church thịnh hành và đã gặp lỗi trên /eclope/lib/revslider/inc_php/framework/base_admin. Class.php:72 - đã sửa lỗi này bằng cách thay đổi tĩnh riêng tư $ ArrayMetaBoxes = ""; đến trạng thái tĩnh $ ArrayMetaBoxes = mảng ();
Paul Preibisch

Tôi nợ bạn một chầu bia. +1 và để giải thích, trong php7, bạn có các hạn chế chặt chẽ hơn về các loại để một chuỗi trống không thể có thứ gì đó được nối với nó trong khi coi nó như một mảng. Như @fuxia đã đề cập []cũng hoạt động tốt ở đây và có nhiều Python hơn.
LigTable
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.