【开源电商网站】(2),使用docker-compose和dockerfile进行配置,设置自定义的镜像,安装插件,增加汉化包,支持中文界面汉化。

项目相关代代码地址

相关内容:
https://blog.csdn.net/freewebsys/category_12461196.html

原文地址:
https://blog.csdn.net/freewebsys/article/details/133666433

包括以下运行的详细代码:
https://gitee.com/study-demo-all/oscommerce2-study

视频教程:

https://www.bilibili.com/video/BV1kB4y1Z7HS/?vd_source=4b290247452adda4e56d84b659b0c8a2

1,使用dockerfile进行构建

首先是镜像的选择,统一使用debian的基础镜像,库安装方便。同时镜像也比较小。
常用的命令也非常熟悉。

相关的debian版本:

Debian 11 “Bullseye” To be defined: roughly July 2024 to June 2026

https://wiki.debian.org/LTS
在这里插入图片描述

2,然后就使用到了docker-compose的 build 命令

build: ./dir 是个文件夹
里面需要有个文件叫 Dockerfile, 才可以。

对于php-fpm来说是:

############### 使用 php:7-fpm 版本 ###############php-fpm:restart: alwaysbuild: ./php-fpm-bullseye-mysqlimage: php-fpm-bullseye-mysqlcontainer_name: php-fpm

其中需要使用 php7会有一些警告。配置下就可以。
但是php8 不能运行了一个函数报错了:


Fatal error: Uncaught Error: Call to undefined function get_magic_quotes_gpc() in /var/www/html/includes/functions/compatibility.php:46 Stack trace: #0 /var/www/html/includes/application_top.php(41): require() #1 /var/www/html/index.php(13): require('/var/www/html/i...') #2 {main} thrown in /var/www/html/includes/functions/compatibility.php on line 46

可以安装成功,但是不能运行。
The PHP function get_magic_quotes_gpc() was deprecated in PHP 7.4 and removed in PHP 8.

也就是最高的版本就是 php7 才可以运行osc项目。

3,其中的dockerfile

# 只能使用最新的 PHP7 版本
FROM php:7-fpm-bullseyeRUN sed -i "s/deb.debian.org/mirrors.aliyun.com/g" /etc/apt/sources.list &&  apt update && \apt -y install wget libwebp-dev libjpeg-dev libpng-dev libfreetype6-dev libc-client-dev libkrb5-dev libzip-dev && \docker-php-ext-configure gd --with-jpeg=/usr/include --with-freetype=/usr/include/ && \docker-php-ext-install gd && docker-php-ext-enable gd && \docker-php-ext-install mysqli && docker-php-ext-enable mysqli && apt clean 

然后执行执行 docker-compose up -d 就可以同时构建镜像,然后再运行。

本地就会有个镜像:

$ docker images 
REPOSITORY                         TAG              IMAGE ID       CREATED         SIZE
php-fpm-bullseye-mysql             latest           8c83373ac361   9 hours ago     491MB

4,最后启动成功了

在这里插入图片描述

5,完整的docker-compose文件:

## 启动命令:
## docker-compose up -d -f docker-compose-mysql.ymlversion: "3"
services:################## mysql 数据库 5.7 版本 ##################mysql-osc:restart: alwaysimage: mysql:5.7container_name: mysql-oscports:- "3306:3306"volumes:- "./data/mysql/data:/var/lib/mysql"- "./mysql/mysql.cnf:/etc/mysql/conf.d/mysql.cnf"#- "./mysql/init.sql:/docker-entrypoint-initdb.d/init.sql"- "./mysql/connDB.sh:/connDB.sh"environment:MYSQL_ROOT_PASSWORD: mysqloscMYSQL_DATABASE: oscTZ: Asia/Shanghaicommand: ['--character-set-server=utf8mb4','--collation-server=utf8mb4_general_ci','--max_connections=3000']############### 使用 php:7-fpm 版本 ###############php-fpm:restart: alwaysbuild: ./php-fpm-bullseye-mysqlimage: php-fpm-bullseye-mysqlcontainer_name: php-fpmports:- "9000:9000"volumes:- "./oscommerce2-2.3.4/catalog:/var/www/html"- "./php/php-fpm.conf:/usr/local/etc/php-fpm.conf"links:- mysql-osc:mysql-osc############### 使用 nginx 版本 ###############nginx-osc:restart: alwaysimage: nginx:bullseyecontainer_name: nginx-oscports:- "8080:8080"volumes:- "./oscommerce2-2.3.4/catalog:/var/www/html"- "./data/nginx/logs:/data/logs"- "./nginx/nginx.conf:/etc/nginx/conf.d/default.conf"links:- php-fpm:php-fpm

6,汉化包

版本虽然古老但是也是支持汉化的。
也可以搜索到相关的汉化包:

汉化后的效果:
在这里插入图片描述
解压缩安装到admin目录下面:
然后就是增加配置,发现需要增加类目和产品描述,否则产品也不展示:

2 代表是中文数据,插入结算货币和语言:


INSERT INTO currencies VALUES (3,'Chinese RMB','CNY','¥','','.',',','2','1.0000', now());
INSERT INTO languages VALUES (2,'简体中文','cn','icon.gif','chinese',0);INSERT INTO categories_description VALUES ( '1', '2', '硬件');
INSERT INTO categories_description VALUES ( '2', '2', '软件');
INSERT INTO categories_description VALUES ( '3', '2', 'DVD电影');
INSERT INTO categories_description VALUES ( '4', '2', '显卡');
INSERT INTO categories_description VALUES ( '5', '2', '打印机');
INSERT INTO categories_description VALUES ( '6', '2', '显示器');
INSERT INTO categories_description VALUES ( '7', '2', '扬声器');
INSERT INTO categories_description VALUES ( '8', '2', '键盘');
INSERT INTO categories_description VALUES ( '9', '2', '鼠标');
INSERT INTO categories_description VALUES ( '10', '2', '动作');
INSERT INTO categories_description VALUES ( '11', '2', '科幻');
INSERT INTO categories_description VALUES ( '12', '2', '喜剧');
INSERT INTO categories_description VALUES ( '13', '2', '卡通');
INSERT INTO categories_description VALUES ( '14', '2', '惊悚');
INSERT INTO categories_description VALUES ( '15', '2', '戏剧');
INSERT INTO categories_description VALUES ( '16', '2', '内存');
INSERT INTO categories_description VALUES ( '17', '2', 'CD-ROM 驱动器');
INSERT INTO categories_description VALUES ( '18', '2', '模拟');
INSERT INTO categories_description VALUES ( '19', '2', '动作');
INSERT INTO categories_description VALUES ( '20', '2', '策略');
INSERT INTO categories_description VALUES ( '21', '2', '配件');INSERT INTO products_description VALUES (1,2,'Matrox G200 MMS','加强了其在多监视器领域的领先地位,Matrox Graphics Inc.再次开发出业界最灵活、最先进的解决方案。向您介绍新的 Matrox G200 多监视器系列;首款支持单个 8 英寸 PCI 主板上最多四个 DVI 数字平板显示器的显卡。随着金融工作场所对数字平板显示器的需求不断增长,Matrox G200 MMS 成为灵活解决方案的终极选择。Matrox G200 MMS 还支持数字显示工作组(DDWG)创建的新数字视频接口(DVI),旨在促进数字平板显示器的采用。其他配置包括复合视频捕获能力和内置电视调谐器,使 Matrox G200 MMS 成为满足商务需求的完整解决方案。基于获奖的 MGA-G200 图形芯片,Matrox G200多监视器系列提供卓越的2D/3D图形加速功能,满足诸如实时股票报价(Versus)、实时视频流(Reuters 和 Bloombergs)、多个窗口应用程序、文字处理、电子表格以及 CAD 等商务应用的需求。','www.matrox.com/mga/products/g200_mms/home.cfm',0);
INSERT INTO products_description VALUES (2,2,'Matrox G400 32MB','<strong>Dramatically Different High Performance Graphics</strong><br /><br />Introducing the Millennium G400 Series - a dramatically different, high performance graphics experience. Armed with the industry\'s fastest graphics chip, the Millennium G400 Series takes explosive acceleration two steps further by adding unprecedented image quality, along with the most versatile display options for all your 3D, 2D and DVD applications. As the most powerful and innovative tools in your PC\'s arsenal, the Millennium G400 Series will not only change the way you see graphics, but will revolutionize the way you use your computer.<br /><br /><strong>Key features:</strong><ul><li>New Matrox G400 256-bit DualBus graphics chip</li><li>Explosive 3D, 2D and DVD performance</li><li>DualHead Display</li><li>Superior DVD and TV output</li><li>3D Environment-Mapped Bump Mapping</li><li>Vibrant Color Quality rendering </li><li>UltraSharp DAC of up to 360 MHz</li><li>3D Rendering Array Processor</li><li>Support for 16 or 32 MB of memory</li></ul>','www.matrox.com/mga/products/mill_g400/home.htm',0);
....

也就是 categories_description products_description 类目和产品描述都需要输入英文信息才可以。
只是翻译了第一条数据,其他的数据没有翻译,直接拷贝的才可以。

效果是:

在这里插入图片描述

7,总结

汉化的入口在语言上面:

在这里插入图片描述
然后就可以切换英文和中文信息了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/101467.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CTF 全讲解:[SWPUCTF 2021 新生赛]Do_you_know_http

文章目录 参考环境题目hello.php雾现User-Agent伪造 User-AgentHackBarHackBar 插件的获取修改请求头信息 雾散 a.php雾现本地回环地址与客户端 IP 相关的 HTTP 请求头X-Forwarded-For 雾散 参考 项目描述搜索引擎Bing、GoogleAI 大模型文心一言、通义千问、讯飞星火认知大模型…

Apache Doris (三十九):Doris数据导出 - MySQL dump导出

🏡 个人主页:IT贫道_大数据OLAP体系技术栈,Apache Doris,Clickhouse 技术-CSDN博客 🚩 私聊博主:加入大数据技术讨论群聊,获取更多大数据资料。 🔔 博主个人B栈地址:豹哥教你大数据的个人空间-豹哥教你大数据个人主页-哔哩哔哩视频 目录

抖音小店创业攻略,快速了解这些适合新手经营的类目

抖音小店是抖音平台上的一种新型电商形态&#xff0c;它允许用户在抖音上开设自己的小店&#xff0c;销售自己的商品。抖音小店的开设门槛低&#xff0c;成本也不高&#xff0c;因此很受新手创业者的青睐。那么&#xff0c;下面不若与众将介绍抖音小店中有哪些适合新手创业者经…

Factory-Method

Factory-Method 动机 在软件系统中&#xff0c;经常面临着创建对象的工作&#xff1b;由于需求的变化&#xff0c;需要创建的对象的具体类型经常变化。如何应对这种变化&#xff1f;如何绕过常规的对象创建方法(new)&#xff0c;提供一种“封装机制”来避免客户程序和这种“具…

智能优化算法常用指标一键导出为EXCEL,CEC2017函数集最优值,平均值,标准差,最差值,中位数,秩和检验,箱线图...

声明&#xff1a;对于作者的原创代码&#xff0c;禁止转售倒卖&#xff0c;违者必究&#xff01; 之前出了一篇关于CEC2005函数集的智能算法指标一键统计&#xff0c;然而后台有很多小伙伴在询问其他函数集该怎么调用。今天采用CEC2017函数集为例&#xff0c;进行展示。 为了突…

根据前序遍历结果构造二叉搜索树

根据前序遍历结果构造二叉搜索树-力扣 1008 题 题目说明&#xff1a; 1.preorder 长度>1 2.preorder 没有重复值 直接插入 解题思路&#xff1a; 数组索引[0]的位置为根节点&#xff0c;与根节点开始比较&#xff0c;比根节点小的就往左边插&#xff0c;比根节点大的就往右…

TCP/IP(十一)TCP的连接管理(八)socket网络编程

一 socket网络编程 socket 基本操作函数 bind、listen、connect、accept、recv、send、select、close 说明: 本文需要C语言、syscall系统调用、OS 操作系统支持,如果不了解可以暂时跳过备注&#xff1a; 知道对应库函数的更底层机制思考&#xff1a; socket函数与FIN、ACK等…

c++ 学习之 强制类型转换运算符 const_cast

看例子怎么用 int main() {int a 1;int* p a;// 会发生报错// 如果学着 c的风格类型转换int* pp (int*)a;*pp 1; // 编译不报错&#xff0c;但是运行报错// const_castconst int n 5;const std::string s "lalal";// const cast 只针对指针&#xff0c;引用&…

.NET 8 中的调试增强功能

作者&#xff1a;James Newton-King 排版&#xff1a;Alan Wang 开发人员喜欢 .NET 强大且用户友好的调试体验。您可以在您选择的 IDE 中设置断点&#xff0c;启动已经附加上调试器的程序&#xff0c;逐步执行代码并查看 .NET 应用程序的状态。 在 .NET 8 中&#xff0c;我们致…

ceph版本和Ceph的CSI驱动程序

ceph版本和Ceph的CSI驱动程序 ceph查看ceph版本Ceph的CSI驱动程序 ceph ceph版本和Ceph的CSI驱动程序 查看ceph版本 官网ceph-releases-index Ceph的CSI驱动程序 Ceph的CSI驱动程序 https://github.com/ceph/ceph-csi

微信小程序在TS模板下引入TDesign组件

介绍 TDesign 是腾讯官方出品的一款微信小程序组件库。本文介绍如何在新建ts空白模板下引入TDesign库 步骤 新建一个空白项目&#xff0c;这里可以选择TS-基础模板 新建项目目录结构如图所示&#xff1a; 注意这里其实小程序的文件都存放在miniprogram文件夹下&#xff0c;…

MPP 架构在 OLAP 数据库的运用

MPP 架构&#xff1a; MPP 架构的产品&#xff1a; Impala ClickHouse Druid Doris 很多 OLAP 引擎都采用了 MPP 架构 批处理系统 - 使用场景分钟级、小时级以上的任务&#xff0c;目前很多大型互联网公司都大规模运行这样的系统&#xff0c;稳定可靠&#xff0c;低成本。…

vscode刷leetcode使用Cookie登录

1、安装插件 打开vscode&#xff0c;选择扩展&#xff0c;搜索leetcode&#xff0c;选择第一个&#xff0c;带有中文力扣字样&#xff0c;安装后重启 2、切换 选择这个小球&#xff0c;切换中文版本&#xff0c;切换后&#xff0c;会显示一个打勾 3、 选择小球旁边的有箭…

ES6 class类的静态方法static有什么用

在项目中&#xff0c;工具类的封装经常使用静态方法。 // amap.jsimport AMapLoader from amap/amap-jsapi-loader; import { promiseLock } from triascloud/utils; /*** 高德地图初始化工具*/ class AMapHelper {static getAMap window.AMap? window.AMap: promiseLock(AM…

c语言:通讯录管理系统(动态分配内存版)

前言&#xff1a;在大多数高校内&#xff0c;都是通过设计一个通讯录管理系统来作为c语言课程设计&#xff0c;通过一个具体的系统设计将我们学习过的结构体和函数等知识糅合起来&#xff0c;可以很好的锻炼学生的编程思维&#xff0c;本文旨在为通讯录管理系统的设计提供思路和…

山海鲸汽车需求调研系统:智慧决策的关键一步

随着社会的发展和科技的进步&#xff0c;汽车行业也迎来了新的挑战和机遇。如何更好地满足用户需求、提高产品竞争力成为了汽车制造商们关注的焦点。在这个背景下&#xff0c;山海鲸汽车需求调研互动系统应运而生&#xff0c;为汽车行业赋予了智慧决策的力量。 智慧决策的核心&…

Idea本地跑flink任务时,总是重复消费kafka的数据(kafka->mysql)

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Idea中执行任务时&#xff0c;没法看到JobManager的错误&#xff0c;以至于我以为是什么特殊的原因导致任务总是反复消费。在close方法中&#xff0c;增加日志&#xff0c;发现jdbc连接被关闭了。 重新…

redis 主从复制

配从不配主 主要开启密码 在redis.conf requirepass xxxx 在从机配置 查看主从关系 在主机或从机执行 info replication 注意点 从机可以读&#xff0c;但没有写的权限主从机同时启动&#xff0c; 主机写一个命令&#xff0c;从机复制一个命令 主机开启动&#xff0c;写入命…

【智慧燃气】智慧燃气解决方案总体概述--终端层、网络层

关键词&#xff1a;智慧燃气、智慧燃气系统、智慧燃气平台、智慧燃气解决方案、智慧燃气应用、智能燃气 智慧燃气解决方案是基于物联网、大数据、云计算、移动互联网等先进技术&#xff0c;结合燃气行业特征&#xff0c;通过智能设备全面感知企业生产、环境、状态等信息的全方…

嵌入式面试:大疆 2023 春招

文章目录 一、笔试SPI的四种模式&#xff1a;模式0 (CPOL0; CPHA0)模式1 (CPOL0; CPHA1)模式2 (CPOL1; CPHA0)模式3 (CPOL1; CPHA1) 一、笔试 SPI的四种模式&#xff1a; CPOL (Clock POlarity)&#xff1a;决定时钟极性 CPHA (Clock PHAse)&#xff1a;决定时钟相位 modeCP…