PHP SimpleSoftwareIO/simple-qrcode 扩展生成空白透明二维码解决方法

在已安装 imagick 扩展的前提下,SimpleSoftwareIO/simple-qrcode 扩展在生成二维码时返回空白图片可能是因为安装的 imagick 扩展版本太老了。可以升级下试试。

升级方法

下载并安装最新版的 imagick PHP 扩展

imagick 扩展下载地址

安装

先把前面下载的 imagick 扩展解压

安装命令:


cd imagick

${php 安装目录}/bin/phpize 

 ./configure --with-php-config=${php 安装目录}/bin/php-config  --with-imagick=/usr/local/imagemagick

 make

 sudo make install

安装完成后,你可以将 imageck.so 注册到 php.ini配置文件中:

extension="imagick.so"

注意

在安装时若报错 MagickWand ./configure can't find MagickWand-config

解决方法:

 # Mac 环境
 brew install imagemagick

 # ubuntu
 sudo apt-get install libmagickwand-dev

最后

不知道为啥,在最近部署的一台服务器中(Ubuntu 20.04 LTS)按照上述方法升级 imagick 后还是生成空白二维码图片。最后通过将另一台可正常生成二维码的服务器上的imagick扩展文件 imagick.so 复制到这台服务器上才正常了。

引用链接

[1] imagick 扩展下载地址: https://pecl.php.net/package/imagick