Composer怎么安装EasyWeChat Composer怎么引入微信开发包【对接】

1次阅读

应安装 composer 后执行 composer require “overtrue/wechat:^7.0″,包名非 easywechat/easywechat;需引入 vendor/autoload.php 并验证类加载;微信支付需配置绝对路径的无密码证书文件。

Composer怎么安装EasyWeChat Composer怎么引入微信开发包【对接】

直接装 easywechat 就行,别单独装 composer

很多人搜“Composer怎么安装EasyWeChat”,其实是混淆了工具和包——composer 是 PHP 的依赖管理工具,得先装好它;而 easywechat 是一个第三方 SDK 包,用 composer 装。如果你还没装 composer,先去官网下二进制可执行文件(composer.phar),放进项目根目录或系统 PATH 里,确保终端能运行 composer --version

确认 composer 可用后,在项目根目录执行:

composer require "overtrue/wechat:^7.0"

注意:^7.0 是当前稳定版(截至 2024 年主流用法),别写成 dev-master*,否则可能拉到不兼容的开发分支。

overtrue/wechat 和旧版 easywechat 名字对不上?

包名早就不叫 easywechat 了。2019 年起作者把命名空间和 Composer 包名都改成了 overtrue/wechat,但 github 仓库名、文档标题、大家口中的“EasyWeChat”还留着老称呼,容易误以为要 composer require easywechat/easywechat——这会报 Package not found 错误。

  • 正确包名是 overtrue/wechat,不是 easywechat/easywechat
  • GitHub 地址是 https://github.com/overtrue/wechat,不是 easywechat/easywechat
  • 文档里写的 use EasyWeChat... 是命名空间,跟 Composer 包名无关

引入后报 class 'EasyWeChatFactory' not found

这是自动加载没生效的典型表现,常见于以下几种情况:

  • 没在项目入口(比如 index.php)里 require 'vendor/autoload.php'
  • 用了某些框架(如 laravel)但没清缓存,执行 php artisan config:clearphp artisan cache:clear
  • vendor 目录权限不对,或被 ide/编辑器锁住导致 autoload 文件没生成全

最简单的验证方式:在命令行跑一句 php -r "require 'vendor/autoload.php'; var_dump(class_exists('EasyWeChatFactory'));",输出 bool(true) 才算真正加载成功。

微信支付接口调不通?检查 config 里的证书路径和 key

微信支付(尤其是 JSAPI、APP 支付)必须传真实证书文件路径,不能只靠 base64 字符串或内存内容。SDK 默认会读取 apiclient_cert.pemapiclient_key.pem 这两个文件:

  • 路径必须是绝对路径,相对路径(如 ./cert/apiclient_cert.pem)在 CLI 环境下容易失效
  • 证书文件需由微信商户平台下载,且 .pem 必须包含完整内容(从 -----BEGIN CERTIFICATE----------END CERTIFICATE-----
  • key 文件不能带密码,如果导出时设了密码,得用 OpenSSL 去掉:openssl rsa -in apiclient_key.pem -out apiclient_key_nopass.pem

配置示例中常看到 'cert_path' => __DIR__.'/cert/apiclient_cert.pem',这里的 __DIR__ 得指向实际存放证书的目录,不是 vendor 里 SDK 自带的 demo 路径。

证书和 key 文件权限建议设为 600,避免日志或错误信息意外暴露私钥内容。

text=ZqhQzanResources