贝利信息

php代码示例如何生成二维码_php生成二维码代码示例【示例】

日期:2026-01-25 00:00 / 作者:看不見的法師
最稳妥方案是使用 endroid/qr-code v4,它兼容 PHP 7.4–8.3、不强依赖 GD 特定函数、API 清晰且维护活跃;需注意 v4 链式调用、容错等级

改用常量、必须显式指定 Writer,并谨慎处理 Logo 尺寸与边距。

endroid/qr-code 生成二维码最稳妥

PHP 原生不支持二维码生成,必须依赖第三方库。目前维护活跃、API 清晰、兼容 PHP 7.4–8.3 的首选是 endroid/qr-code(v4+)。它不依赖 GD 扩展的特定函数(比如 imageantialias),对 Docker 环境或精简镜像更友好。

安装命令:
composer require endroid/qr-code

基础用法示例:

use Endroid\QrCode\QrCode;
use Endroid\QrCode\Writer\PngWriter;

$qrCode = QrCode::create('https://example.com');
$result = (new PngWriter())->write($qrCode);
header('Content-Type: image/png');
echo $result->getString();

GD 扩展没开或报 Call to undefined function imagecreate() 怎么办

这是最常卡住的一步。不是所有 PHP 环境默认启用 GD——尤其 Alpine Linux 容器、某些宝塔面板精简版、或自编译 PHP 时漏了 --with-gd

endroid/qr-code v3 和 v4 参数差异要注意

v4 是重大重构版本,接口变化明显,老项目升级容易出错:

生成带 Logo 的二维码,图片变形或边缘被裁怎么处理

不是简单叠加就能好看。Logo 太大、位置不对、没预留 margin,会导致扫码失败。

关键控制点:

生成后务必用多个主流扫码 App(微信、支付宝、iOS 原生相机)实测,别只看图片是否“显示正常”。