问题:ShopWind V3.3.0 开源电商系统 后台管理点击“插件”栏目内的子栏目时,提示错误 “ Array and string offset access syntax with curly braces is deprecated.. ” 如下图所示
原因:PHP 7.4不再支持使用大括号来访问数组以及字符串的偏移,故而提示错误。
解决办法:
1. 找到文件:common\plugins\BasePlugin.php 和 common\library\Widget.php
将代码:
if (in_array($entry, array('.', '..')) || $entry{0} == '.' || $entry{0} == '$') {
修改为:
if (in_array($entry, ['.', '..']) || in_array(substr($entry, 0 ['.', '$'])) {
2.找到文件:backend\models\DbForm.php
将代码(有两处):
$file{0} != '.'
修改为:
!in_array($file, ['.', '..'])
3. 找到文件:common\plugins\connect\xwb\lib\SaeTOAuthV2.php
将代码:
if( in_array($parameter, array('pic', 'image')) && $value{0} == '@' ) {
修改为:
if( in_array($parameter, array('pic', 'image')) && substr($value, 0, 1) == '@' ) {
问题解决!