乐于分享
好东西不私藏

多商户电商系统APP双端+小程序+PC端,已修复

多商户电商系统APP双端+小程序+PC端,已修复

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

一、DSC系统是什么?

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

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

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

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

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

【东西放到源码网里了,有需要的狗友可以去下载学习了,这套会员直接下】

系统架构

  • 开发语言:PHP

  • 数据库:MySQL

  • 前端框架:Smarty模板引擎

  • 支持端

    • 后台管理端(/admin/
    • 商家端(/seller/
    • 门店端(/stores/
    • 移动端(/mobile/
    • API接口端(/api/

核心功能

  1. 多商户管理
    :支持多个商家入驻
  2. 订单管理
    :完整的订单流程
  3. 商品管理
    :商品发布、分类、属性
  4. 会员管理
    :用户注册、权限管理
  5. 营销工具
    :优惠券、团购、秒杀等
  6. 财务结算
    :商家结算、佣金管理

🔧 二、本次修复内容详解

问题背景

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


✅ 修复1:数据库配置问题

问题

  • 您创建了 .env 文件,但DSC系统不读这个文件
  • 系统实际读取的是 data/config.php

解决

  • 识别DSC系统的真实配置文件位置:data/config.php

  • 数据库配置信息:

    • 数据库名:dsc_eryueniaofei
    • 用户名:dsc_eryueniaofei
    • 密码:dsc_eryueniaofei
    • 主机:localhost:3306

文件位置data/config.php


✅ 修复2: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个):

  1. includes/init.php
  2. admin/includes/init.php
  3. admin/includes/init_table.php
  4. api/init.php
  5. includes/init_api.php
  6. includes/init_invitecode.php
  7. seller/includes/init.php
  8. stores/includes/init.php
  9. stores/init.php
  10. api/client/includes/init.php
  11. search.php

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

class exchange {
    function exchange() {  // PHP 7.0+ 弃用:方法名与类名相同不再是构造函数
        // ...
    }
}

解决: 将所有PHP4样式构造函数重命名为 __construct()

class exchange {
    function __construct() {  // 现代PHP构造函数写法
        // ...
    }
}

修复的文件(共4个):

  1. admin/includes/cls_exchange.php
     – exchange 类
  2. admin/includes/cls_sql_dump.php
     – cls_sql_dump 类
  3. admin/includes/cls_google_sitemap.php
     – google_sitemap_item 类
  4. seller/includes/cls_google_sitemap.php
     – google_sitemap_item 类

✅ 修复4:Python脚本导致的文件损坏(修复)

解决: 手动修复了所有被脚本损坏的文件:

  1. mobile/vendor/autoload.php
  2. mobile/vendor/Kernel.php
  3. mobile/thinkphp/ThinkPHP.php
  4. mobile/thinkphp/base.php
  5. mobile/thinkphp/start.php

正确的代码

// 系统信息
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);
}

✅ 修复5:运算符优先级弃用警告(修复)

问题

$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行


📋 三、部署步骤总结

数据库配置

在宝塔面板中:

  1. 创建数据库:dsc_eryueniaofei
  2. 创建用户:dsc_eryueniaofei,密码:cHRXRELzwGsWHGtN
  3. 授权用户访问数据库
  4. 导入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);

弃用修复原则

  1. 版本检查
    :在调用弃用函数前先检查PHP版本
  2. 功能检查
    :用 function_exists() 检查函数是否存在
  3. 错误抑制
    :用 @ 抑制弃用警告(临时方案)
  4. 代码现代化
    :将旧式写法改为现代PHP写法

📝 五、后续建议

  1. PHP版本
    :建议使用 PHP 7.4,不要升级到 PHP 8.0+(很多旧函数已移除)
  2. 错误报告
    :生产环境关闭错误显示:error_reporting(0)
  3. 定期备份
    :修改核心文件前先备份
  4. 测试环境
    :建议先在测试环境验证所有功能