zoukankan      html  css  js  c++  java
  • 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 EndroidQrCodeQrCode;
    
    $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 去了

    没有解决问题啊

  • 相关阅读:
    linux修改主机名
    selinux详解及配置文件
    linux磁盘分区
    识别光纤,模块
    free命令详解
    Linux系统修改网卡名(eth0-3)
    CentOS7的systemctl使用
    ELK集群
    ELK故障:elk在运行一段时间后,没有数据。
    superviosrd进程管理
  • 原文地址:https://www.cnblogs.com/tinywan/p/11428374.html
Copyright © 2011-2022 走看看