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

分类: PHP

  • 本文记录了 Laravel 6 生产环境使用 Redis 驱动时缓存无故失效的排查过程。在排除了配置冲突、运维脚本清理及自动过期等问题后,发现原有代码中单个标签下 key 数量累积过多。经调整将多个标签改为仅使用 1 个标签后,该标签下的 key 数量保持在 20 个左右,缓存随即恢复正常且未再丢失,最终结论是在使用 Cache::tags 时,建议仅设置 1 个标签并控制单个标签下的 key 数量不要过多。

  • 在 PHP 7.4 中遇到 Array to string conversion 报错,经查看报错文件代码发现是因为使用 echo 输出数组导致类型转换失败。通过将输出方式修改为按照数组格式打印该变量,解决了因强制将数组转换为字符串而引发的报错问题,使程序正常运行。

  • 针对PHP 7.4中基于语义化版本的目录名称排序需求,文章解决了v2.0.0小于v2.0.0-h.1的非标准比较问题。在使用version_compare函数无法得到预期结果的情况下,文章提出了一种自定义比较逻辑:当两个版本号主部分相同且仅其中一个包含-h后缀时,判定含后缀的版本更大。最终代码实现成功将目录按预期顺序排列。

  • 本文针对Laravel 6中任务队列一直处于运行状态的问题进行了排查分析。在解决了因Artisan::call未返回导致的判断失效问题后,再次遇到相同情况,日志显示PHP Fatal error,提示settingUrl()函数重复定义。经分析,这是由于include包含的文件中存在重名函数所致。最终采取的临时解决方案是将重名函数修改为不同名称,从而规避了该致命错误。

  • 本文探讨了在 Laravel 6 中重构 MySQL 字段类型 json 值的方法。针对现有代码中生成的 setting_migrations 数组结构,文章介绍了如何基于辅助函数 Arr 将该字段值调整并纳入到新的 extra 字段中。通过具体的代码调整,最终将原有的数组结构转换成了以 extra 为字段名的对象结构,实现了数据存储格式的优化。

  • 文章探讨了在 PHP 中调整正则表达式以允许特定捕获子组为空的问题。针对现有代码无法匹配 internal://all_collectionss/ 的情况,通过分析元字符与量词的区别,将原本代表 1 次或多次匹配的 + 调整为代表 0 次或多次匹配的 *,成功实现了对结尾斜杠后为空及非空两种情况的支持,最终给出了调整后的正则规则与代码实现。

  • 文章记录了在 MySQL json 字段中设置值时遭遇 Unsupported operand types 报错的排查过程。通过调整代码逻辑,实现了在 json 字段已有值的情况下追加新数据的功能。文中展示了首次执行与再次执行后字段的最终变化,验证了数据追加成功的问题修复结果。

  • 针对PHP 7.4中基于语义化版本命名的目录,文章解决了按版本号从低到高逐一执行脚本文件的问题。通过使用glob()获取子目录列表,利用usort()和version_compare()函数对目录进行规范化排序,确保了执行顺序正确。文章还介绍了在版本升级场景下,通过过滤和排序来精确获取需要执行的增量目录列表,最终实现了对特定版本范围内目录脚本的按序执行。

  • 本文记录了使用 Shopify CLI 基于 PHP 模板创建应用并安装到商店的过程。操作包括导航目录初始化应用,配置 Laravel 及 SQLite 数据库,修复驱动缺失与参数报错,启动本地服务器与 Ngrok。最终通过修复会话 Cookie 问题,利用带参数的接口地址成功在开发商店中完成了应用安装。

  • 本文记录了解决 count(): Parameter must be an array or an object that implements Countable 报错的过程。通过排查代码发现变量值为 NULL,导致在 PHP 7.4.26 环境下调用 count() 函数时产生警告。最终利用 null 合并运算符将变量默认值设为空数组,修复了因 countable 类型无效而引发的问题。

👨‍💻 个人品牌

王世强|PHP / Go 技术顾问

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

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

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

👉 关于我 & 合作

.env (14) 404 (13) add (16) AI 翻译 (29) Apache (13) Array (19) A Tour of Go (49) Cache (13) CentOS (23) ChatGPT (18) ChatGPT Plus (14) chrome (19) Cloudflare (28) Codex (14) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (15) delete (31) Docker (32) Dockerfile (15) EdgeOne (31) environment variable (19) error (24) file (15) filter (20) Git (27) GitHub (23) Gitlab (15) GLM-5.2 (26) Go (54) Google AdSense (23) Go 语言 (23) GraphQL (24) GraphQL API (14) Gutenberg (34) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (21) Migrate (13) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (21) PHP (67) php-fpm (18) 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 (49) response (13) RESTful (27) RESTful API (23) Shell (13) Shopify (19) SlyTranslate (20) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) W3 Total Cache (35) Windows 10 (46) WireGuard (27) WordPress (126) WordPress 多语言 (13) WPCode (23) Wstunnel (14) Yii (40) Yii 2 (70) Yii 2.0 (51) 多语言翻译 (28) 技术博客 (15) 故障排查 (14) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)

2026 年 8 月
 12
3456789
10111213141516
17181920212223
24252627282930
31