DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)

¥9.90

库存:999 件

DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)
热度 5

DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)

DSC系统介绍与修复总结【东西来自狗友投稿,APP双端+小程序+PC+开发文档】

一、DSC系统是什么?

DSC(大商创)是一套基于PHP+MySQL的多商户电商解决方案,可以理解为国内版的ECShop升级版,支持:

丰富的营销工具:秒杀、团购、优惠券一应俱全

多商户入驻:商家可以自主管理店铺

多端支持:PC+H5+小程序+APP全端覆盖

完整的佣金结算:平台与商家分账

系统架构

开发语言:PHP

数据库:MySQL

前端框架:Smarty模板引擎

支持端: 后台管理端(/admin/)

商家端(/seller/)

门店端(/stores/)

移动端(/mobile/)

API接口端(/api/)

核心功能

多商户管理:支持多个商家入驻

订单管理:完整的订单流程

商品管理:商品发布、分类、属性

会员管理:用户注册、权限管理

营销工具:优惠券、团购、秒杀等

财务结算:商家结算、佣金管理

二、本次修复内容详解

问题背景

您的服务器使用 PHP 7.4+,而DSC系统是比较老的代码(基于ECShop架构),使用了一些在新版本PHP中被弃用的写法。

修复:get_magic_quotes_gpc() 弃用警告

if (!get_magic_quotes_gpc()) { // PHP 7.4+ 会报弃用警告 这个函数在PHP 7.4中被弃用,PHP 8.0中已移除 Magic Quotes特性在PHP 5.4就被移除了,之后一直是OFF状态 解决:

// 修复后的代码 $magic_quotes = (PHP_VERSION_ID < 80000 && function_exists('get_magic_quotes_gpc')) ? @get_magic_quotes_gpc() : false; if (!$magic_quotes) { // ... 后续代码 } 修复的文件(共11个):

includes/init.php

admin/includes/init.php

admin/includes/init_table.php

api/init.php

includes/init_api.php

includes/init_invitecode.php

seller/includes/init.php

stores/includes/init.php

stores/init.php

api/client/includes/init.php

search.php

修复:PHP4样式构造函数弃用警告

class exchange { function exchange() { // PHP 7.0+ 弃用:方法名与类名相同不再是构造函数 // ... } } 解决: 将所有PHP4样式构造函数重命名为 __construct():

class exchange { function __construct() { // 现代PHP构造函数写法 // ... } } 修复的文件(共4个):

admin/includes/cls_exchange.php – exchange 类

admin/includes/cls_sql_dump.php – cls_sql_dump 类

admin/includes/cls_google_sitemap.php – google_sitemap_item 类

seller/includes/cls_google_sitemap.php – google_sitemap_item 类

正确的代码:

// 系统信息 if(version_compare(PHP_VERSION,'5.4.0','<')) { ini_set('magic_quotes_runtime',0); define('MAGIC_QUOTES_GPC',false); }else{ define('MAGIC_QUOTES_GPC',false); } 修复:运算符优先级弃用警告(修复) 问题:

$thisWeekMon = local_strtotime('+' . 1 - $week . ' days'); // 第2337行 在PHP 7.4+会报弃用警告 PHP 8.0中,+/- 将比 . 有更高优先级 当前代码等价于:(‘+’ . (1 – $week) . ‘ days’) 还是 (((‘+’ . 1) – $week) . ‘ days’)?不明确 $thisWeekMon = local_strtotime('+' . (1 - $week) . ' days'); // 加括号明确优先级 修复的文件:admin/index.php 第2337行

三、部署步骤总结

数据库配置

在宝塔面板中:

创建数据库:dsc_eryueniaofei

创建用户:dsc_eryueniaofei,密码:cHRXRELzwGsWHGtN

授权用户访问数据库

导入SQL文件:后端源码/dsc.eryueniaofei.sql

修复后的文件

文件列表:

data/config.php includes/init.php admin/includes/init.php admin/includes/init_table.php admin/includes/cls_exchange.php admin/includes/cls_sql_dump.php admin/includes/cls_google_sitemap.php seller/includes/cls_google_sitemap.php admin/index.php mobile/vendor/autoload.php mobile/vendor/Kernel.php mobile/thinkphp/ThinkPHP.php mobile/thinkphp/base.php mobile/thinkphp/start.php api/init.php includes/init_api.php includes/init_invitecode.php stores/includes/init.php stores/init.php api/client/includes/init.php search.php 删除以下目录中的所有文件:

temp/caches/* temp/compiled/* 重置后台密码 登录phpMyAdmin,执行SQL:

UPDATE `dsc_admin_user` SET `password` = MD5(CONCAT(MD5('admin123'), '8264')), `ec_salt` = '8264' WHERE `user_name` = 'admin'; 后台地址:http://自己的域名/admin/ 账号:admin 密码:admin123

四、技术要点总结

密码加密方式

DSC系统使用双重MD5加盐加密:

弃用修复原则

版本检查:在调用弃用函数前先检查PHP版本

功能检查:用 function_exists() 检查函数是否存在

错误抑制:用 @ 抑制弃用警告(临时方案)

代码现代化:将旧式写法改为现代PHP写法

五、后续建议

PHP版本:建议使用 PHP 7.4,不要升级到 PHP 8.0+(很多旧函数已移除)

错误报告:生产环境关闭错误显示:error_reporting(0)

定期备份:修改核心文件前先备份

测试环境:建议先在测试环境验证所有功能


相关商品