Installation

Installation with Composer

Composer is required to install this package. Please do not open an issue to complain about “monopolizing the implementation” or similar - we’ve been there before.

composer.json

Installation via composer.json:

{
	"require": {
		"php": "^7.4",
		"chillerlan/php-qrcode": "dev-main"
	}
}

Note: replace dev-main with a version constraint, e.g. ^4.3 - see releases for valid versions. In case you want to keep using dev-main, specify the hash of a commit to avoid running into unforseen issues, like so: dev-main#cb69751c3bc090a7fdd2f2601bbe10f28d225f10

Version switch

If your application supports older PHP versions and uses the basic QRCode syntax (new QRCode)->render($data), then you can add a version switch to your composer.json to allow installing a php-qrcode version that suits the platform it runs on:

{
	"require": {
		"php": "^7.0 || ^8.0",
		"chillerlan/php-qrcode": "^2.0 || ^3.4 || ^4.3 || ^5.0"
	}
}

Most of the v2.0 API remains unchanged throughout the several versions up to v5.x, however, please test and verify the expected output before you deploy such a switch.

Terminal

To install php-qrcode on the terminal, use:

composer require chillerlan/php-qrcode

If you want to install the package from a specific tag or commit, do as follows:

composer require chillerlan/php-qrcode:4.3.4
composer require chillerlan/php-qrcode:dev-main#f15b0afe9d4128bf734c3bf1bcffae72bf7b3e53

Manual installation

Download the desired version of the package from main or release and extract the contents to your project folder. After that, run composer install in the package root directory to install the required dependencies and generate ./vendor/autoload.php.

Profit!

Can i use this library without using composer?

You can, but it’s absolutely not recommended, nor supported.

With that said, I’ll leave you with this info:

  • download the .zip for a version of your choice and also all required dependencies listed in the composer.json for that version (you can find links to the respective repos on packagist)

  • extract the files into your library folder

  • include the files manually or with whatever autoloader you are using

Good luck!

Supported PHP versions & extension requirements

The PHP built-in extensions GdImage and mbstring are used across all versions, ImageMagick is optional since v3.x.

version

branch/tag

PHP

supported

required extensions

optional extensions

info

v5

dev-main

^7.4 || ^8.0

yes

mbstring

gd or imagick required for reading QR Codes, fileinfo is used in QRImagick

v4

4.3.4

^7.4 || ^8.0

yes

gd, mbstring

imagick

v3

3.4.1

^7.2

no

gd, mbstring

imagick

v3.4.1 also supports PHP8

v2

2.0.8

>=7.0.3

no

gd, mbstring

v1

1.0.9

>=5.6

no

gd, mbstring

please let PHP 5 die!

PSA: PHP versions < 8.0 are EOL and therefore the respective QRCode versions are also no longer supported!

ImageMagick

Please follow the installation guides for your operating system: