php二維碼/條形碼識別

客戶有個業務是作二維碼和條形碼的,他的業務是天天晚上12點手動吧全部的二維碼和條形碼(圖片)下載下來而後拿着壓縮包去另一個解析的平臺 作解析 而後根據解析結果 給他們本身的客戶打款php

因爲是項目初期 天天也就幾百單 二維碼數量大概 900張/天左右python

可是在1核1G1M 的機器上 這就是災難啊git

因而開始優化github

使用php-zbarcoderedis

首先說明 環境必須是 php5的 由於PHP7的底層函數 不兼容 嘗試着裝了幾回也沒裝上去擴展json

而後ide

1.安裝ImageMagick(www.imagemagick.org/)函數

yum install ImageMagick.x86_64 ImageMagick-devel.x86_64測試

2.安裝zbar(sourceforge.net/projects/zb…)優化

wget jaist.dl.sourceforge.net/project/zba…

tar jxvf zbar-0.10.tar.bz2

cd zbar-0.10

#注意此步有大坑,要禁止gtk,python和qt的支持,否則你就等着無限報錯吧 ./configure --without-gtk --without-python --without-qt --prefix=/usr/local/zbar

可能報錯的話

./configure --without-gtk --without-python --without-qt --prefix=/usr/local/zbar --disable-video

make && make install

#提示以下爲完成,不是報錯 #make[2]: Leaving directory /root/zbar-0.10' #make[1]: Leaving directory/root/zbar-0.10' #echo 「/usr/local/zbar/lib/」 >> /etc/ld.so.conf

ldconfig

ln -s /usr/local/zbar/lib/pkgconfig/zbar.pc  /usr/lib64/pkgconfig/zbar.pc

3.安裝php-zbarcode(github.com/mkoppanen/p…)

unzip php-zbarcode-master.zip

cd php-zbarcode-master

/usr/local/php/bin/phpize

./configure --with-php-config=/usr/local/php/bin/php-config

make && make install

#提示以下完成 #Build complete. #Don't forget to run 'make test'.

#Installing shared extensions:     /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

4.添加:extension=zbarcode.so 到php.ini配置文件

此時查看phpinfo();後搜索zbarcode後爲完成

5.測試效果   圖片取自https://en.wikipedia.org/wiki/File:Ean-13-5901234123457.png

scan($image);     //循環輸出二維碼信息     if (!empty($barcode)) {         foreach ($barcode as $code) {             printf("Found type %s barcode with data %s\n", $code['type'], $code['data']);         }     } ?>

原文:blog.csdn.net/jianai0602/…

這個過程是沒啥問題的 可是同一時間 解析1000張碼 仍是時間比較長

此處採用redis的延時隊列 設計

1 用戶下單後 將id 跟 二維碼的信息 image  json_encode 後放入 延時隊列

2  30分鐘後 檢測該訂單 是否有效果 (用戶沒撤回 表示有效)

3 有效訂單 直接扔入新的redis 隊列 (解析二維碼的隊列)

4定時任務 push數據 並解析這個二維碼 將解析的數據存入  一個新表  用訂單id 關聯 完事~!~~

做者:凌晨灬丶 來源:CSDN 原文:blog.csdn.net/zhaodongku/… 版權聲明:本文爲博主原創文章,轉載請附上博文連接!

相關文章
相關標籤/搜索