分类: 编程语言
-
在 Shopify 应用中运行 yarn dev 时出现 Bundler version 2.3.7 is not supported 报错,这是由于 Bundler 版本不兼容导致的。通过运行 gem install bundler 命令将 Bundler 更新到最新版本后,再次执行 yarn dev 即可解决该问题,项目恢复正常运行。
-
本文记录了使用 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 类型无效而引发的问题。
-
文章记录了一个 GraphQL API 耗时长达 7 秒的排查过程。经 Laravel Telescope 和独立客户端测试,实际执行时间仅约 1.8 秒。问题根源在于 Windows 10 环境下的 Nginx 与 PHP FastCGI 默认只能同时处理单一请求,导致请求排队。通过调整 Nginx 配置并启动多个 php-cgi 进程绑定不同端口,实现了并发处理。最终刷新页面测试,请求耗时缩短至 2 秒左右,符合预期。
-
在 Blade 视图中渲染 JSON 数据时,默认的双大括号会将双引号转换为 HTML 实体,导致前端解析困难。若直接使用非转义语法,虽然解决了实体问题,却可能因 URL 值未正确转义而导致 JSON 结构错误。文章最终采用 addcslashes 函数对字符串进行 C 语言风格转义,从而在防范潜在安全风险的同时,生成符合规范且便于前端解析的 JSON 结构。
-
在 Navicat for MySQL 中将表从 5.7 版本数据库复制至 8.0 版本时,因包含默认时间为 0000-00-00 00:00:00 的数据而报错 1292。尝试在 Homestead 配置中禁用 MySQL 8 无果后,对比两个版本的 sql_mode 发现 8.0 默认启用了 NO_ZERO_IN_DATE 和 NO_ZERO_DATE。通过修改目标数据库的 sql_mode,移除上述两项配置并重新连接,再次执行复制操作成功解决了该问题。
-
执行脚本安装 Elasticsearch 后发现 IK 分词插件未生效,经排查脚本自动安装代码无效。尝试手动使用 elasticsearch-plugin 安装插件,因 ES 版本为 7.17.6,先后尝试最新版及 7.17.5 版本插件均报版本不匹配错误。最终决定修改安装脚本,将 Elasticsearch 版本回退至 7.17.5,重新安装后 ES 版本正确且插件成功安装。
-
在 Ubuntu 环境下使用 laravel-ubuntu-init 脚本创建站点时,填写项目名称后系统提示校验失败。解决方法是编辑对应的脚本文件,将触发报错的校验代码注释掉。保存修改后重新执行脚本,系统不再提示错误,操作顺利完成。
-
在 Laravel 6 中,模型应用了软删除后再次插入记录会出现唯一键冲突,这是因为软删除仅更新 deleted_at 字段而未从数据库物理移除记录。由于查询结果自动排除软删除数据,需要使用 withTrashed 方法获取包含软删除在内的记录,再利用 forceDelete 方法进行硬删除。永久删除记录后,再次插入新数据即可避免冲突并成功执行。
