没有不值得去解决的问题,也没有不值得去学习的技术!

分类: Guzzle PHP HTTP 客户端

  • 在使用 Guzzle PHP HTTP client 发起请求时,当服务端返回非 20x 状态码时,默认会抛出异常导致无法获取响应对象 $response 变量。为了能够对响应中的 status 字段进行判断并执行后续逻辑,需要参考文档将 http_errors 请求选项设置为 false。调整代码后,当服务端返回 400 状态码时不再抛出 GuzzleHttp\Exception\ServerException,程序能够正常获取响应内容,符合预期处理需求。

  • 针对在 Laravel 6 环境下使用 Guzzle 6 将远程文件下载至服务器磁盘的需求,本文通过配置 sink 选项并传入 fopen 返回的资源流来实现文件保存。针对过程中遇到的目录不存在导致 fopen 失败的异常,采取了预先判断并递归创建目录的解决措施。此外,针对 fclose 报错的问题,通过在关闭前检查资源有效性进行了修复,最终测试确认可成功下载远程文件。


👨‍💻 个人品牌

王世强|PHP / Go 技术顾问

15+ 年 Web 后端开发经验,专注于系统维护、架构优化、性能调优及 Linux 运维。

持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。

为创业团队、中小企业及独立开发者提供长期技术支持与远程合作服务。

👉 关于我 & 合作

.env (14) 404 (13) add (16) AI 翻译 (13) Apache (13) Array (19) Cache (13) CentOS (23) ChatGPT Plus (12) chrome (19) Cloudflare (26) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (15) delete (31) Docker (32) Dockerfile (15) ECS (12) EdgeOne (23) environment variable (19) error (24) Failed (13) file (15) filter (20) function (13) Git (27) GitHub (17) Gitlab (15) Go (38) Google AdSense (21) GraphQL (24) GraphQL API (14) Gutenberg (27) http (21) https (21) Installation (12) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (19) Migrate (13) Module (17) Multilingual (12) MySQL (77) MySQL 5.7 (21) Nginx (56) normalize.css (24) OKX (15) OneinStack (17) PHP (67) php-fpm (16) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (57) postman (18) Query (17) queue (16) Rancher (24) Redis (47) response (13) RESTful (27) RESTful API (23) Shell (13) Shopify (19) SlyTranslate (17) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (19) Ubuntu (39) update (20) VPN (17) VS Code (13) W3 Total Cache (33) Windows 10 (46) WireGuard (26) WordPress (111) WordPress 多语言 (13) WPCode (20) Wstunnel (13) Yii (40) Yii 2 (70) Yii 2.0 (51) 命令行 (13) 技术博客 (15) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 8 月
 12
3456789
10111213141516
17181920212223
24252627282930
31