分类: 数据库
-
本文记录了将 Shopify PHP 主题应用扩展部署至生产环境的过程。操作包括上传本地代码至阿里云服务器,在生产环境构建前后端,并解决因配置错误导致扩展推送至错误应用的问题。通过重新运行开发命令、使用环境变量拉取命令指定正确的生产应用,成功创建并发布了扩展版本,最终实现了在店铺主题编辑器中添加应用块及首页内容的更新。
-
本文记录了将Shopify PHP应用从开发环境部署至阿里云ECS生产环境的过程。主要操作包括在Shopify合作伙伴中心创建独立应用,将ECS环境中的PHP由7.4升级至8.1,配置域名SSL解析,并调整PHP配置以解决proc_open限制。部署过程中通过修改数据库引擎参数修复了迁移报错,更新Nginx配置和.env文件解决了权限与参数错误,最终构建前后端代码并重新安装应用,成功实现了页面正常加载。
-
在 PHP 7.4 和 MySQL 5.7 环境中,针对 JSON 类型字段插入 string(4) “null” 的问题进行了分析。程序原先仅使用 is_null() 判断,导致值为 “null” 的字符串被误判为合法 JSON 并写入数据库,从而引发 500 异常。经检查 SQL 日志和变量变化,确认 json_encode(null) 会返回字符串 ‘null’ 并被直接更新。最终结论是在执行 json_encode 前增加额外判断,仅当变量不为 NULL 时才进行编码,确保数据格式正确。
-
面对一张包含17万条记录的表,添加字段操作耗时180秒。通过允许新字段为NULL,耗时降至104秒。进一步确认并清理表中不再使用的数据,将记录量减少至3万余条后再次执行,最终总耗时缩短至87秒。该过程表明,调整字段属性与清理冗余数据能有效缩短表结构变更的执行时间。
-
针对MySQL 5.7中存储为数组格式的JSON类型字段,文章介绍了在Laravel 6中使用whereJsonContains方法进行查询的实现过程。通过参考Laravel官方文档,编写了查询代码并执行,最终打印出的查询结果符合预期,生成的SQL语句也能正确检索包含特定值的JSON数据。
-
在 Laravel 6 执行数据库迁移更新字段属性时,系统提示 Doctrine\DBAL\Exception 错误,声称不支持的 enum 类型。经排查,迁移文件中待更新的字段并非 enum 类型,但该表的其他字段使用了 enum。参考相关资料,使用 DB::statement 方法替代常规更改操作,执行迁移成功解决了此问题。
-
本文记录在 Windows 10 上利用 Ubuntu 执行 .sh 脚本文件的排查过程。作者通过 Windows Terminal 进入 Ubuntu 系统,访问 /mnt/c 挂载的 C 盘目录并运行脚本,过程中遇到 PHP Redis 扩展缺失及连接拒绝等报错。经排查环境并安装扩展后证实,脚本执行依赖的环境需在 Ubuntu 中完整配置,且连接的是系统内的 Redis 而非 Windows 中的服务。
-
本文记录了在 Windows 10 中使用 WSL 运行 .sh 脚本文件的尝试过程。通过管理员身份运行命令成功执行了测试文件,但在运行 themes.sh 时遇到了换行符语法错误及 PHP Redis 扩展报错。最终作者放弃在 WSL 中运行,转而在 Ubuntu 环境下执行,得出结论是脚本执行依赖的环境配置必须在 Ubuntu 中全部准备妥当,且所连接的 Redis 不再是 Windows 中的 Redis。
