分类: 编程语言
-
在 PHP 7.4 和 MySQL 5.7 环境中,针对 JSON 类型字段插入 string(4) “null” 的问题进行了分析。程序原先仅使用 is_null() 判断,导致值为 “null” 的字符串被误判为合法 JSON 并写入数据库,从而引发 500 异常。经检查 SQL 日志和变量变化,确认 json_encode(null) 会返回字符串 ‘null’ 并被直接更新。最终结论是在执行 json_encode 前增加额外判断,仅当变量不为 NULL 时才进行编码,确保数据格式正确。
-
针对 GraphQL API 请求间歇性返回 500 错误且无响应数据的问题,通过在 index.php 设置错误级别并查看日志,发现 Allowed memory size exhausted 错误。调整内存限制可暂时解决,但进一步排查发现执行 SQL 查询时未添加 limit 约束,导致全表数据加载至内存从而超出限制,添加约束后问题得到定位。
-
本文探讨了在 Laravel 6 中使用 ZipStream PHP 生成的 ZIP 文件在 Windows 10 下遇到的问题。起初,该文件在 360 压缩中可正常解压,但在 WinRAR 中失败,且在 Linux 使用 7z 解压时虽有报错但能成功。经排查发现,需在将流上传至 S3 之前执行 $zip->finish() 方法以完成归档。调整代码后,生成的文件在 360 压缩和 WinRAR 中均能成功解压,解决了兼容性问题。
-
在 Laravel 6 中遇到 ThemeInstallation::isCodeEdited must return a relationship instance 错误。经检查模型文件,发现调用关系时未使用方法语法。最终定位问题在于代码中使用了 $theme->themeInstallation->isCodeEdited,解决方法是在 isCodeEdited 后添加括号,将其修改为方法调用形式。
-
面对一张包含17万条记录的表,添加字段操作耗时180秒。通过允许新字段为NULL,耗时降至104秒。进一步确认并清理表中不再使用的数据,将记录量减少至3万余条后再次执行,最终总耗时缩短至87秒。该过程表明,调整字段属性与清理冗余数据能有效缩短表结构变更的执行时间。
-
在 PHP 7.4 环境下使用 file_put_contents 函数时遇到了 failed to open stream: No such file or directory 报错。经排查,问题原因是文件名 theme-cdn-config-2023-02-23-10:23:19.txt 中包含冒号导致格式不正确。将文件名中的冒号替换为短横线后再次运行,报错消失,文件成功写入。
-
针对在 PHP 7.4 容器中获取环境变量时出现数据不一致的问题,决定通过打印环境变量至日志文件进行分析排查。文章介绍了在 index.php 文件中添加相关代码以记录环境变量的具体操作过程,并展示了最终日志文件中的输出结果,从而确认了程序获取到的实际配置值。
-
本文记录了在 Laravel 6 中如何在高级 Join 语句里使用 Where 语句的参数分组,以生成包含多重嵌套条件的 SQL。文章从判断单条记录是否符合复杂嵌套条件的现有实现出发,参照官方文档修改代码,实现了查询所有符合条件的记录,最终生成的 SQL 符合预期。
