首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 識別二維碼完整指南:php-zbarcode 擴充套件安裝與使用實戰

     編輯:PHP 綜合知識

前置依賴

php-zbarcode 需要系統層面安裝 ImageMagick(影像處理)與 zbar(條碼/QR Code 掃描引擎),再編譯 PHP 擴充套件。

環境:CentOS / RHEL 系列

1. 安裝 ImageMagick

yum install ImageMagick.x86_64 ImageMagick-devel.x86_64

2. 安裝 zbar(關鍵:停用 gtk/python/qt 避免編譯錯誤)

wget https://jaist.dl.sourceforge.net/project/zbar/zbar/0.10/zbar-0.10.tar.bz2
tar jxvf zbar-0.10.tar.bz2
cd zbar-0.10
./configure --without-gtk --without-python --without-qt --prefix=/usr/local/zbar
make && make install

# 更新動態連結庫快取
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

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

編譯成功會提示安裝路徑,如 /usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/

4. 啟用擴充套件

編輯 php.ini 加入:

extension=zbarcode.so

重啟 PHP-FPM/Apache,phpinfo() 搜尋 zbarcode 確認載入成功。

測試程式碼

$image = new ZBarCodeImage("./test.png"); // 建立影像物件
$scanner = new ZBarCodeScanner();         // 建立掃描器
$barcode = $scanner->scan($image);        // 掃描

if (!empty($barcode)) {
    foreach ($barcode as $code) {
        printf("Found type %s barcode with data %s\n", $code['type'], $code['data']);
    }
}

線上測試資源

常見問題排查

  • configure 失敗:確認 zbar.pc 路徑已加入 PKG_CONFIG_PATH
  • 執行期找不到 libzbar.so:執行 ldconfig 並確認 /etc/ld.so.conf.d/ 包含 zbar 路徑
  • PHP 版本不符:phpize 必須使用目標 PHP 環境的二進位檔

延伸閱讀

更多 PHP 影像處理技巧請參考專題:《PHP圖形與圖片操作技巧匯總》、《PHP陣列(Array)操作技巧大全》等。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved