一、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.phpadmin/includes/init.phpadmin/includes/init_table.phpapi/init.phpincludes/init_api.phpincludes/init_invitecode.phpseller/includes/init.phpstores/includes/init.phpstores/init.phpapi/client/includes/init.phpsearch.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加盐加密:
// 最终密码 = md5(md5(明文密码) + ec_salt)
$password = md5(md5($_POST[‘password’]) . $ec_salt);
弃用修复原则
- 版本检查:在调用弃用函数前先检查PHP版本
- 功能检查:用
function_exists()检查函数是否存在 - 错误抑制:用
@抑制弃用警告(临时方案) - 代码现代化:将旧式写法改为现代PHP写法
📝 五、后续建议
- PHP版本:建议使用 PHP 7.4,不要升级到 PHP 8.0+(很多旧函数已移除)
- 错误报告:生产环境关闭错误显示:
error_reporting(0) - 定期备份:修改核心文件前先备份
- 测试环境:建议先在测试环境验证所有功能
![图片[1]-DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)-朝晞小屋](https://3se.cc/wp-content/uploads/2026/07/95a3275a47bfaab1652d569b03113fe5.jpg)
![图片[2]-DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)-朝晞小屋](https://3se.cc/wp-content/uploads/2026/07/3264432392e89ec891f7fcaa8197e9ed.jpg)
![图片[3]-DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)-朝晞小屋](https://3se.cc/wp-content/uploads/2026/07/31cec3d49a7fdc6b3e253ee218034989.jpg)
![图片[4]-DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)-朝晞小屋](https://3se.cc/wp-content/uploads/2026/07/990052797ffcb55b5b2adfc1399ca1e1.jpg)
![图片[5]-DSC大商创多商户电商系统完整部署教程(附PHP7.4/PHP8兼容修复方案)-朝晞小屋](https://3se.cc/wp-content/uploads/2026/07/7edc82ca6d7b521c54fff36bdcb751ca.jpg)
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

