iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >动态二维码生成器PHP Dynamic QRcode
  • 860
分享到

动态二维码生成器PHP Dynamic QRcode

群晖docker二维码QRcode 2023-09-02 15:09:51 860人浏览 安东尼
摘要

什么是 PHP Dynamic QRcode ? PHP Dynamic QRcode 是一个允许生成和保存动态和静态二维码(QR码)的应用。它具有简洁、响应灵敏且用户友好的设计。其中包含您网站

在这里插入图片描述

什么是 PHP Dynamic QRcode ?

PHP Dynamic QRcode 是一个允许生成和保存动态和静态二维码(QR码)的应用。它具有简洁、响应灵敏且用户友好的设计。其中包含您网站中可能需要的一般功能,如:记录管理(CRUD)、安全身份验证、分页、过滤器。

什么是 Dynamic Qr codes ?

Dynamic Qr codes 具有可修改的目的地 URL。动态二维码的目的地是可以随时更改——即使您的营销材料已经打印出来。这将节省重印成本和精力,并使您能够尽快对活动中的任何更改做出响应。

什么是 Static Qr codes ?

Static Qr codes 有一个固定的目标 URL。静态二维码中编码的信息是固定的。目的地/数据直接存储在二维码图形中(因此,如果要存储更多数据,二维码也会越来越大,并形成更复杂的模式)。因此,无法更改存储的目的地/数据。与任何其他打印材料一样,已经打印的二维码中的任何拼写错误都无法更改。通过本应用,您可以创建 13种不同类型的静态二维码。

这个项目老苏很早就关注了,刚开始没有 Docker 版本,老苏尝试过自己构建镜像,但是在数据库设置完成后有报错。最近看了一下,官方已经提供了 Dockerfile ,但是必须本地编译,而不能从 docker hub 下载。这对大部分人来说,不是一件容易的事情

虽然官方有计划,但是都快过去半年了,还是没有可供下载的镜像,所以只能自己动手,来丰衣足食了。不过老苏水平有限,毕竟不是程序员,一些异常没有代码的配合也不知道如何处理,只能严格按顺序操作了,如果出错了就删了重来吧

结果并不重要,重要的是我们动手折腾了 😂

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

Dockerfile

官方提供了 Dockerfile ,但需要我们自己编。

为了加快构建速度,在 RUN apt-get update 之前,插入了下面👇这段,将默认源改为了阿里源

# 改阿里源    RUN sed -i "s@Http://deb.debian.org@http://mirrors.aliyun.com@g" /etc/apt/sources.list    RUN cat /etc/apt/sources.list    RUN rm -Rf /var/lib/apt/lists/*

另外给 GitHub源码地址前挂了 ghproxy,目的都是为了加快构建的速度,对本身功能没有任何影响

修改了对外暴露的端口,从 80 改为了 3080,不改的话会遇到 (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80 错误

因为新增了 ports.confservername 文件,所以要新增两行

COPY ./config/ports.conf /etc/apache2/ports.conf  COPY ./config/servername.conf /etc/apache2/conf-available/servername.conf

启用了 docker-entrypoint.sh 文件

源码中 read.php 在根目录,原 Dockerfile 处理漏了,会出现错误

因此需要单独处理

    && cp -r /app/read.php /var/www/html \

config/environment.php.example 需命名为 config/environment.php

修改后的 Dockerfile 及相关文件,都放在了 https://github.com/wbsu2003/Dockerfile/blob/main/PHP-Dynamic-Qr-code

vhost.conf

监听的端口要做相应的调整

config/vhost.conf 中,将 端口改为

ports.conf

这个文件只要一行就可以

Listen 3080

servername.conf

这个文件也只要一行就可以

ServerName localhost

但是实际上可能并未生效,因为镜像中还是有警告,但不影响使用

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.4. Set the 'ServerName' directive globally to suppress this message

docker-entrypoint.sh

修改成下面这样,目的是:

  1. 替换 servername.conf 中的 localhost 为环境变量 WEB_URL 传入的值,就像我前面说的,可能未生效,主要还是不了解 apache
  2. 替换 read.php 中的 include 路径,从 qrcode/config/config.php 改为 config/config.php
#!/bin/bash    find '/etc/apache2' -name '*.conf' -exec sed -i -e 's,localhost,'"$WEB_URL"',g' {} \;  find '/var/www/html' -name 'read.php' -exec sed -i -e 's,qrcode/config,config,g' {} \;  exec apache2-foreground

构建流程

构建服务端镜像的基本命令如下👇

# 直接下载代码git clone https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code.git# 通过代理下载原代码git clone https://ghproxy.com/github.com/giandonatoinverso/PHP-Dynamic-Qr-code.git# 进入目录cd PHP-Dynamic-Qr-code/docker# 构建镜像docker build -t wbsu2003/qrcode:v1 .# 生成容器docker run -d \   --name=qrcode \   -p 3470:3080 \   -v $(pwd)/saved_qrcode:/var/www/html/saved_qrcode \   -e DOCKER_CID=docker \   -e WEB_URL=192.168.0.197 \   -e DATABASE_HOST=192.168.0.197 \   -e DATABASE_PORT=3307 \   -e DATABASE_NAME=qrcode \   -e DATABASE_USER=qrcode \   -e DATABASE_PASSWord=123456 \   -e DATABASE_PREFIX=qr_ \   wbsu2003/qrcode:v1

安装

在群晖上以 Docker 方式安装。

数据库

直接使用群晖自带的 Mariadb 10

phpMyAdmin 中创建了名为 qrcode 的空数据库。

为便于说明,假设数据库密码为 123456

所以根据上面的设置,最后得到的数据库相关的参数如下:

  • 数据库主机:192.168.0.197,与群晖主机 IP 一致;
  • 数据库端口:3307
  • 数据库用户:qrcode
  • 数据库密码:123456
  • 数据库库名:qrcode,因为勾选了与用户同名;

镜像下载

  1. 如果注册表能用,在注册表中搜索 wbsu2003/qrcode ,版本选择 latest

  1. 如果注册表用不了,但是可以下载,用 ssh 客户端登录到群晖,在命令行中直接输入
docker pull wbsu2003/qrcode:latest
  1. 如果既不能搜索,也不能下载,就去 https://dockerproxy.com 试试吧

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

# 新建文件夹 qrcode 和 子目录mkdir -p /volume1/docker/qrcode/saved_qrcode# 进入 qrcode 目录cd /volume1/docker/qrcode# 修改目录权限 chmod 777 saved_qrcode# 运行容器docker run -d \   --restart unless-stopped \   --name qrcode \   -p 3470:3080 \   -v $(pwd)/saved_qrcode:/var/www/html/saved_qrcode \   -e DOCKER_CID=docker \   -e WEB_URL=192.168.0.197 \   -e DATABASE_HOST=192.168.0.197 \   -e DATABASE_PORT=3307 \   -e DATABASE_NAME=qrcode \   -e DATABASE_USER=qrcode \   -e DATABASE_PASSWORD=123456 \   -e DATABASE_PREFIX=qr_ \   wbsu2003/qrcode
可变
DOCKER_CID设为 docker
WEB_URL服务地址,应该没起作用
DATABASE_HOST数据库主机
DATABASE_PORT数据库端口
DATABASE_NAME数据库库名
DATABASE_USER数据库用户
DATABASE_PASSWORD数据库密码
DATABASE_PREFIX设为 qr_

config/environment.php 中看,只要 DOCKER_CID字符串就会读取环境变量中的数据库设置

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'services:  qrcode:    image: wbsu2003/qrcode    container_name: qrcode    restart: unless-stopped    ports:      - 3470:3080    volumes:      - ./saved_qrcode:/var/www/html/saved_qrcode    environment:      DOCKER_CID: "docker"      WEB_URL: "192.168.0.197"      DATABASE_HOST: "192.168.0.197"      DATABASE_PORT: "3307"      DATABASE_NAME: "qrcode"      DATABASE_USER: "qrcode"      DATABASE_PASSWORD: "123456"      DATABASE_PREFIX: "qr_"

然后执行下面的命令

# 新建文件夹 qrcode 和 子目录mkdir -p /volume1/docker/qrcode/saved_qrcode# 进入 qrcode 目录cd /volume1/docker/qrcode# 修改目录权限 chmod 777 saved_qrcode# 将 docker-compose.yml 放入当前目录# 一键启动docker-compose up -d

运行

第一次运行,需要先进行设置

在浏览器中输入 http://群晖IP:3470/install/setup.php 就能看到设置界面

注意:这里提示了后台账号和密码,均为 superadmin

如果直接看到上面的界面,说明数据库设置正确,在 phpMyAdmin 中你会看到已经有了 3 张表

如果数据库设置不正确,会显示 The database could not be created, please check your database credentials!

Log in 按钮,跳转到登录界面

账号: superadmin,密码:superadmin

登录成功后的主界面

新建动态二维码

https://laosu.ml 为例

微信扫出来是这样的

如果要印在名片或者彩页上,需用域名或者公网 IP

下载的二维码保存在 saved_qrcode 目录中

静态二维码的种类比较多

存在的问题

默认内置的 demo 数据的二维码,不管是动态还是静态,都不显示

除了 loGout 外,ProfileSettings 都没链接,不知道是代码问题,还是 Docker 构建的问题

等官方放出正式的 docker 版本吧

参考文档

giandonatoinverso/PHP-Dynamic-Qr-code: PHP Dynamic Qr code is a script that allows the generation and saving of dynamic and static QR codes
地址:https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code

PHP-Dynamic-Qr-code/docker at master · giandonatoinverso/PHP-Dynamic-Qr-code · GitHub
地址:https://github.com/giandonatoinverso/PHP-Dynamic-Qr-code/tree/master/docker

PHP Qr Code Generator- Documentation
地址:https://giandonatoinverso.it/documentation/

来源地址:https://blog.csdn.net/wbsu2004/article/details/131469049

--结束END--

本文标题: 动态二维码生成器PHP Dynamic QRcode

本文链接: https://www.lsjlt.com/news/390996.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 动态二维码生成器PHP Dynamic QRcode
    什么是 PHP Dynamic QRcode ? PHP Dynamic QRcode 是一个允许生成和保存动态和静态二维码(QR码)的应用。它具有简洁、响应灵敏且用户友好的设计。其中包含您网站...
    99+
    2023-09-02
    群晖 docker 二维码 QRcode
  • 如何使用PHP生成动态二维码?
    当今互联网时代,二维码已成为人们日常生活中不可或缺的一部分。为了更好地提高二维码的使用效率和安全性,许多开发者开始使用PHP来生成动态二维码。那么,如何使用PHP生成动态二维码呢?本文将为您详细介绍。 一、安装必要的库 在使用PHP生成动态...
    99+
    2023-09-26
    二维码 path git
  • Angular.JS如何生成动态二维码
    这篇文章主要介绍Angular.JS如何生成动态二维码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、场景二维码的场景,很多。这里是二维码一种小场景,比如分享一个链接,商品链接,项...
    99+
    2024-04-02
  • phpqrcode怎么生成动态二维码
    本篇内容主要讲解“phpqrcode怎么生成动态二维码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“phpqrcode怎么生成动态二维码”吧!参数设置:include_once ...
    99+
    2023-06-04
  • python应用之qrcode生成二维码的示例
    本文将为大家详细介绍“python应用之qrcode生成二维码的示例”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“python应用之qrcode生成二维码的示例”能够给你意想不到的收获,请大家跟着小编的思路慢...
    99+
    2023-06-06
  • ThinkPHP6中使用最新版本Endroid/QrCode生成二维码
    目录 前言 一、使用composer下载扩展包 二、实现代码及方法注释 三、效果(扫码会跳转到百度) 前言 TP现用的、用composer包管理的生成二维码的工具包,带来和原生PHP使用qrcode差距不大的体验。不多说,看代码。 一、...
    99+
    2023-09-02
    php composer 后端
  • PHP laravel 生成二维码
      php laravel框架生成二维码_51CTO博客_php laravel框架  参考 一、配置 1.在项目根目录输入命令 composer require simplesoftwareio/simple-qrcode 1.3.* ...
    99+
    2023-09-02
    php laravel 开发语言
  • 用 PHP 生成二维码
    本文将介绍几种在 PHP 中生成二维码的方法。 使用谷歌二维码 API 在 PHP 中生成二维码 我们可以使用 QR 码来存储 URL、wifi 密码、联系信息等信息。这些信息在 QR 码中以...
    99+
    2024-02-27
  • 使用composer安装和使用Endroid/QrCode来生成二维码
    安装composer 使用composer命令安装Endroid/QrCode composer require endroid/qr-code 实现代码 //生成二维码的功能无非就是:/二维码上的内容、二维码的尺寸大小、二维码上的LOGO...
    99+
    2023-09-17
    composer php
  • 微信小程序二维码生成工具 weapp-qrcode详解
    微信小程序 - 二维码生成工具 下载:weapp-qrcode.js文件 github:https://github.com/Pudon/weapp-qrcode-base64 在...
    99+
    2024-04-02
  • PHP如何生成二维码?
    PHP是一种流行的服务器端编程语言,广泛应用于Web开发领域。二维码是一种快速获取信息的技术,它已经被广泛应用于各种领域。在本文中,我们将介绍如何使用PHP来生成二维码。 生成二维码的基本原理是将需要存储的信息编码成二维码图案,然后通过扫描...
    99+
    2023-09-26
    二维码 path git
  • Python实现动态二维码生成的示例代码
    目录1.MyQR普通的二维码制作带背景图片的二维码制作带动图背景的二维码制作2.qrcode简单的二维码制作带背景图片的二维码制作大家好,我是辰哥~ 今天给大家分享两个制作二维码的P...
    99+
    2024-04-02
  • Python3用2行代码生成动态二维码详解
    目录1、引言2、代码实战2.1 模块安装2.2 参数讲解2.3 代码实战2.3.1 静态二维码2.3.2 动态二维码总结1、引言 小屌丝:激动的心,颤抖的手。 小鱼:你这是有多累?...
    99+
    2024-04-02
  • Python第三方库qrcode或MyQr生成博客地址二维码
    目录前期准备qrcodeMyQR安装第三方库代码运行效果前期准备 qrcode 下载地址: qrcode · PyPI QR Code image generator https:/...
    99+
    2024-04-02
  • 微信小程序生成带动态参数二维码
    首先说一下我的使用场景,用户可根据id生成这一条记录的二维码,其他人扫码直接跳转到小程序,显示这条记录的具体信息。 分两步:第一在微信公众号后台配置,第二利用canvas前端实现二维码展示,并接收参数做下一步处理。 第一步:后台配置 登录微...
    99+
    2023-08-17
    微信小程序 小程序
  • laravel8x 生成二维码
    作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 阿里云专家博主 文章目录 第一步:在项目的根目录下:第二步:在 config/app.php 注册服务提供者:第...
    99+
    2023-08-31
    php 开发语言
  • 如何在PHP中生成二维码?
    二维码是一种二维条码,可以将信息编码成黑白图案,通常用于快速扫描和识别信息。在现代社会中,二维码已经成为了人们生活中不可或缺的一部分。在这篇文章中,我们将探讨如何在PHP中生成二维码。 为了生成二维码,我们需要用到一个PHP库——PHP ...
    99+
    2023-10-17
    npm api 二维码
  • 如何使用PHP生成二维码?
    二维码是现代社会信息传播中不可或缺的一种方式,它将复杂的信息通过图形化的形式直观地展现给人们。在网站开发、移动应用开发中,我们经常会用到二维码生成和识别的技术来方便用户获取信息。PHP作为一种流行的后端编程语言,也提供了方便的二维码生成和识...
    99+
    2023-05-21
    二维码 PHP 生成
  • Java IDE中的二维码生成器:一键生成自定义二维码
    Java IDE中的二维码生成器:一键生成自定义二维码 随着二维码在各个领域的广泛应用,越来越多的开发者需要在自己的应用程序中集成二维码生成功能。而Java作为一种广泛应用于企业级应用开发的编程语言,其IDE中的二维码生成器也越来越受到开发...
    99+
    2023-11-01
    ide 二维码 关键字
  • Java IDE中的二维码生成器:快速生成自定义二维码
    Java IDE中的二维码生成器:快速生成自定义二维码 随着移动互联网的发展,二维码已经成为了一种非常重要的信息传递方式。在日常生活中,我们经常会看到各种各样的二维码,例如扫描二维码支付、扫描二维码登录等等。而在Java开发中,我们也经常需...
    99+
    2023-11-01
    ide 二维码 关键字
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作