国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

動態(tài)二維碼生成器PHP Dynamic QRcode

這篇具有很好參考價值的文章主要介紹了動態(tài)二維碼生成器PHP Dynamic QRcode。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

動態(tài)二維碼生成器PHP Dynamic QRcode

什么是 PHP Dynamic QRcode ?

PHP Dynamic QRcode 是一個允許生成和保存動態(tài)和靜態(tài)二維碼(QR碼)的應(yīng)用。它具有簡潔、響應(yīng)靈敏且用戶友好的設(shè)計。其中包含您網(wǎng)站中可能需要的一般功能,如:記錄管理(CRUD)、安全身份驗證、分頁、過濾器。

什么是 Dynamic Qr codes ?

Dynamic Qr codes 具有可修改的目的地 URL。動態(tài)二維碼的目的地是可以隨時更改——即使您的營銷材料已經(jīng)打印出來。這將節(jié)省重印成本和精力,并使您能夠盡快對活動中的任何更改做出響應(yīng)。

什么是 Static Qr codes ?

Static Qr codes 有一個固定的目標(biāo) URL。靜態(tài)二維碼中編碼的信息是固定的。目的地/數(shù)據(jù)直接存儲在二維碼圖形中(因此,如果要存儲更多數(shù)據(jù),二維碼也會越來越大,并形成更復(fù)雜的模式)。因此,無法更改存儲的目的地/數(shù)據(jù)。與任何其他打印材料一樣,已經(jīng)打印的二維碼中的任何拼寫錯誤都無法更改。通過本應(yīng)用,您可以創(chuàng)建 13種不同類型的靜態(tài)二維碼。

這個項目老蘇很早就關(guān)注了,剛開始沒有 Docker 版本,老蘇嘗試過自己構(gòu)建鏡像,但是在數(shù)據(jù)庫設(shè)置完成后有報錯。最近看了一下,官方已經(jīng)提供了 Dockerfile ,但是必須本地編譯,而不能從 docker hub 下載。這對大部分人來說,不是一件容易的事情

動態(tài)二維碼生成器PHP Dynamic QRcode

雖然官方有計劃,但是都快過去半年了,還是沒有可供下載的鏡像,所以只能自己動手,來豐衣足食了。不過老蘇水平有限,畢竟不是程序員,一些異常沒有代碼的配合也不知道如何處理,只能嚴(yán)格按順序操作了,如果出錯了就刪了重來吧

結(jié)果并不重要,重要的是我們動手折騰了 ??

構(gòu)建鏡像

如果你不想自己構(gòu)建,可以跳過,直接閱讀下一章節(jié)

Dockerfile

官方提供了 Dockerfile ,但需要我們自己編。

1、為了加快構(gòu)建速度,在 RUN apt-get update 之前,插入了下面??這段,將默認(rèn)源改為了阿里源

# 改阿里源    
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/*

2、另外給 github 的源碼地址前掛了 ghproxy,目的都是為了加快構(gòu)建的速度,對本身功能沒有任何影響

動態(tài)二維碼生成器PHP Dynamic QRcode

3、修改了對外暴露的端口,從 80 改為了 3080,不改的話會遇到 (13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80 錯誤

4、因為新增了 ports.confservername 文件,所以要新增兩行

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

5、 啟用了 docker-entrypoint.sh 文件

6、源碼中 read.php 在根目錄,原 Dockerfile 處理漏了,會出現(xiàn)錯誤

動態(tài)二維碼生成器PHP Dynamic QRcode

因此需要單獨處理

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

7、 config/environment.php.example 需命名為 config/environment.php

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

vhost.conf

監(jiān)聽的端口要做相應(yīng)的調(diào)整

config/vhost.conf 中,將 <VirtualHost *:80> 端口改為 <VirtualHost *:3080>

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 為環(huán)境變量 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

構(gòu)建流程

構(gòu)建服務(wù)端鏡像的基本命令如下??

# 直接下載代碼
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

# 構(gòu)建鏡像
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 方式安裝。

建數(shù)據(jù)庫

直接使用群暉自帶的 Mariadb 10

動態(tài)二維碼生成器PHP Dynamic QRcode

phpMyAdmin 中創(chuàng)建了名為 qrcode 的空數(shù)據(jù)庫。

為便于說明,假設(shè)數(shù)據(jù)庫密碼為 123456

動態(tài)二維碼生成器PHP Dynamic QRcode

所以根據(jù)上面的設(shè)置,最后得到的數(shù)據(jù)庫相關(guān)的參數(shù)如下:

  • 數(shù)據(jù)庫主機:192.168.0.197,與群暉主機 IP 一致;
  • 數(shù)據(jù)庫端口:3307
  • 數(shù)據(jù)庫用戶:qrcode
  • 數(shù)據(jù)庫密碼:123456
  • 數(shù)據(jù)庫庫名:qrcode,因為勾選了與用戶同名;

鏡像下載

  1. 如果注冊表能用,在注冊表中搜索 wbsu2003/qrcode ,版本選擇 latest

動態(tài)二維碼生成器PHP Dynamic QRcode

  1. 如果注冊表用不了,但是可以下載,用 SSH 客戶端登錄到群暉,在命令行中直接輸入
docker pull wbsu2003/qrcode:latest
  1. 如果既不能搜索,也不能下載,就去 https://dockerproxy.com 試試吧

動態(tài)二維碼生成器PHP Dynamic QRcode

命令行安裝

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

# 新建文件夾 qrcode 和 子目錄
mkdir -p /volume1/docker/qrcode/saved_qrcode

# 進入 qrcode 目錄
cd /volume1/docker/qrcode

# 修改目錄權(quán)限 
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 設(shè)為 docker
WEB_URL 服務(wù)地址,應(yīng)該沒起作用
DATABASE_HOST 數(shù)據(jù)庫主機
DATABASE_PORT 數(shù)據(jù)庫端口
DATABASE_NAME 數(shù)據(jù)庫庫名
DATABASE_USER 數(shù)據(jù)庫用戶
DATABASE_PASSWORD 數(shù)據(jù)庫密碼
DATABASE_PREFIX 設(shè)為 qr_

config/environment.php 中看,只要 DOCKER_CID 是字符串就會讀取環(huán)境變量中的數(shù)據(jù)庫設(shè)置

也可以用 docker-compose 安裝,將下面的內(nèi)容保存為 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_"

然后執(zhí)行下面的命令

# 新建文件夾 qrcode 和 子目錄
mkdir -p /volume1/docker/qrcode/saved_qrcode

# 進入 qrcode 目錄
cd /volume1/docker/qrcode

# 修改目錄權(quán)限 
chmod 777 saved_qrcode

# 將 docker-compose.yml 放入當(dāng)前目錄

# 一鍵啟動
docker-compose up -d

運行

第一次運行,需要先進行設(shè)置

在瀏覽器中輸入 http://群暉IP:3470/install/setup.php 就能看到設(shè)置界面

注意:這里提示了后臺賬號和密碼,均為 superadmin

動態(tài)二維碼生成器PHP Dynamic QRcode

如果直接看到上面的界面,說明數(shù)據(jù)庫設(shè)置正確,在 phpMyAdmin 中你會看到已經(jīng)有了 3 張表

動態(tài)二維碼生成器PHP Dynamic QRcode

如果數(shù)據(jù)庫設(shè)置不正確,會顯示 The database could not be created, please check your database credentials!

Log in 按鈕,跳轉(zhuǎn)到登錄界面

賬號: superadmin,密碼:superadmin

動態(tài)二維碼生成器PHP Dynamic QRcode

登錄成功后的主界面

動態(tài)二維碼生成器PHP Dynamic QRcode

新建動態(tài)二維碼

動態(tài)二維碼生成器PHP Dynamic QRcode

https://laosu.ml 為例

動態(tài)二維碼生成器PHP Dynamic QRcode

用微信掃出來是這樣的

如果要印在名片或者彩頁上,需用域名或者公網(wǎng) IP

動態(tài)二維碼生成器PHP Dynamic QRcode

下載的二維碼保存在 saved_qrcode 目錄中

動態(tài)二維碼生成器PHP Dynamic QRcode

靜態(tài)二維碼的種類比較多

動態(tài)二維碼生成器PHP Dynamic QRcode

存在的問題

1、默認(rèn)內(nèi)置的 demo 數(shù)據(jù)的二維碼,不管是動態(tài)還是靜態(tài),都不顯示

動態(tài)二維碼生成器PHP Dynamic QRcode

2、除了 logout 外,ProfileSettings 都沒鏈接,不知道是代碼問題,還是 Docker 構(gòu)建的問題

動態(tài)二維碼生成器PHP Dynamic QRcode

等官方放出正式的 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/文章來源地址http://www.zghlxwxcb.cn/news/detail-510397.html

到了這里,關(guān)于動態(tài)二維碼生成器PHP Dynamic QRcode的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包