PHP系列 | PHP5.6 安装 endroid/qr-code 遇到的问题

官方库地址:https://packagist.org/packages/endroid/qr-code

PHP5.6 的最高版本为:2.5.1

通过composer安装

composer require endroid/qr-code 2.5.1

 安装结果

./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 8 installs, 0 updates, 0 removals
  - Installing myclabs/php-enum (1.7.2): Downloading (100%)
  - Installing symfony/polyfill-ctype (v1.12.0): Downloading (100%)
  - Installing symfony/property-access (v2.8.50): Downloading (100%)
  - Installing bacon/bacon-qr-code (1.0.3): Downloading (100%)
  - Installing symfony/options-resolver (v2.8.50): Downloading (100%)
  - Installing endroid/qr-code (2.5.1): Downloading (100%)
  - Installing topthink/framework (v5.1.38.1): Downloading (100%)
bacon/bacon-qr-code suggests installing ext-gd (to generate QR code images)

 使用

use Endroid\QrCode\QrCode;

$qrCode = new QrCode('Life is too short to be generating QR codes');

header('Content-Type: '.$qrCode->getContentType());
echo $qrCode->writeString();

 出错了

syntax error, unexpected ':', expecting ';' or ' php-enum/src/Enum.php:88

 语法解析错误呀。应该是PHP7的三元运算符搞得鬼

也就是这个依赖库版本的问题:

myclabs/php-enum (1.7.2): Downloading (100%)

 查看该依赖库需要的PHP版本

可以很清楚的看到,安装endroid/qr-code库使用默认安装的依赖库包都是最新的,需要PHP7的

如何解决问题?

重新找一个myclabs/php-enum安装包使用于PHP5.6的

指定版本安装

composer require myclabs/php-enum 1.6.6

 再次生产二维码,成功了。

小结:针对PHP5.6版本使用 endroid/qr-code 二维码库,需要在composer.json文件中添加包

 

"endroid/qr-code": "2.5.1",
"myclabs/php-enum": "1.6.6"

其实在解决问题之前,我总以为版本太高的问题,甚至把endroid/qr-code 的版本都搞到1.9 去了

没有解决问题啊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tinywan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值