ฉันจะแก้ไขข้อผิดพลาด RevSlider ที่ร้ายแรงในแดชบอร์ดหลังจากอัปเกรดเป็น PHP 7 ได้อย่างไร [ปิด]


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
RevSlider, AFAICT เป็นปลั๊กอินเฉพาะสำหรับ Wordpress ฉันลองใช้revslider.stackexchange.comแล้ว แต่สำหรับฉัน404s
แชปแมนแอทเวล

3
สิ่งนี้อาจไม่เหมาะสมที่นี่ แต่มีประโยชน์มากที่สุดสำหรับฉันเนื่องจากข้อผิดพลาดนี้ทำให้การเข้าถึงผู้ดูแลระบบไม่สามารถเข้าถึงได้อย่างสมบูรณ์หลังจากการอัพเกรด PHP และการแก้ไขไม่ใช่เรื่องของการดีบักสิ่งที่เกิดขึ้น แต่เพิ่งใช้โปรแกรมแก้ไขด่วนจากคำตอบที่ยอมรับ
Antti Haapala

คำตอบ:


67

ผมสามารถที่จะแก้ไขข้อผิดพลาดโดย hotfixing ปลั๊กอิน RevSlider บนเซิร์ฟเวอร์ของฉันเป็นเอกสารที่นี่

ในrevslider/includes/framework/base-admin.class.phpฉันเปลี่ยนบรรทัดต่อไปนี้ (l. 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 บนเซิร์ฟเวอร์ของฉันและสิ่งนี้มีประโยชน์!
Spencer Bigum

สวัสดีขอบคุณสำหรับคำตอบนี้! ในกรณีของฉันฉันใช้แม่แบบโบสถ์ wordHope และได้รับข้อผิดพลาดใน /churchope/lib/revslider/inc_php/framework/base_admin.class.php:72 - แก้ไขสิ่งนี้ด้วยการเปลี่ยน $ arrMetaBoxes ส่วนตัวแบบคงที่ = "" เพื่อส่วนตัวคง $ arrMetaBoxes = array ();
Paul Preibisch

ฉันเป็นหนี้คุณเบียร์ +1 และสำหรับคำอธิบายใน php7 คุณมีข้อ จำกัด ที่เข้มงวดมากขึ้นเกี่ยวกับประเภทดังนั้นสตริงที่ว่างเปล่าไม่สามารถมีสิ่งที่ผนวกเข้ากับมันในขณะที่ปฏิบัติเหมือนเป็นอาร์เรย์ @fuxia ดังกล่าว[]ยังใช้งานได้ดีและ Pythonish มากขึ้น
Ligemer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.