wechatpay-apiv3 / wechatpay-guzzle-middleware

微信支付 APIv3 Guzzle HTTP Client中间件(middleware)
Apache License 2.0
208 stars 46 forks source link

运行报错 #30

Closed mkerj closed 3 years ago

mkerj commented 4 years ago

php7.4 GuzzleHttp:7.0 Fatal error: Uncaught Error: Undefined class constant 'VERSION' in /Users/aaaxx/bbbbaade/wxpayv3/vendor/wechatpay/wechatpay-guzzle-middleware/src/WechatPayMiddleware.php:162 Stack trace: #0 /Users/aaaxx/bbbbaade/wxpayv3/vendor/wechatpay/wechatpay-guzzle-middleware/src/WechatPayMiddleware.php(101): WechatPay\GuzzleMiddleware\WechatPayMiddleware::getUserAgent() #1 /Users/aaaxx/bbbbaade/wxpayv3/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php(62): WechatPay\GuzzleMiddleware\WechatPayMiddleware->WechatPay\GuzzleMiddleware{closure}(Object(GuzzleHttp\Psr7\Request), Array) #2 /Users/aaaxx/bbbbaade/wxpayv3/vendor/guzzlehttp/guzzle/src/Middleware.php(30): GuzzleHttp\PrepareBodyMiddleware->__invoke(Object(GuzzleHttp\Psr7\Request), Array) #3 /Users/aaaxx/bbbbaade/wxpayv3/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php(69): GuzzleHttp\Middleware::GuzzleHttp{closure}(Object(GuzzleHttp\Psr7\Request), Array) #4 /Users/aaaxx/bbbbaade/wxpayv3/vendor/guzzlehttp/g in /Users/aaaxx/bbbbaade/wxpayv3/vendor/wechatpay/wechatpay-guzzle-middleware/src/WechatPayMiddleware.php on line 162

mkerj commented 4 years ago

手动改个版本号解决 $agent .= ' GuzzleHttp/7.0';//.\GuzzleHttp\Client::VERSION;

tpirc3 commented 4 years ago

GuzzleHttp 7版本与6版本有一些Breaking Changes https://github.com/guzzle/guzzle/blob/7.0.0/UPGRADING.md

Constant GuzzleHttp\ClientInterface::VERSION is removed. Added GuzzleHttp\ClientInterface::MAJOR_VERSION instead.

wechatpay-guzzle-middleware这边近期会更新兼容GuzzleHttp 7,在此之前可以将 \GuzzleHttp\Client::VERSION 修改为 \GuzzleHttp\Client::MAJOR_VERSION做临时处理。

dkoin commented 3 years ago

GuzzleHttp的引用比较广泛,版本是不可控的

这个地方拼接的内容,意义不是特别大,建议写死吧

tpirc3 commented 3 years ago

已更新支持 https://github.com/wechatpay-apiv3/wechatpay-guzzle-middleware/releases/tag/v0.2.1

composer安装方法: composer require wechatpay/wechatpay-guzzle-middleware:0.2.1