分类: 编程语言
-
针对机试中设计高精度加法函数的需求,在不使用 bcadd 等自带函数的前提下,文章提供了一种支持长数字相加且不损失精度的实现方案。该方案通过字符串操作处理数值,在忽略负数的前提下完成了加法运算。经测试,将 64474.47265 与 24562.45124 相加,结果为 89036.92389,符合预期。当前版本对请求参数的容错处理尚待完善。
-
容器更换基础镜像后,在特定 Rancher 环境变量开启时启动失败并提示模块已加载。经排查,原因为命令行执行时重复加载了 gd、exif 和 sockets 扩展。最终通过修改 Dockerfile,利用 sed 命令从配置文件中删除对应扩展的加载项,解决了重复加载报错问题,确保了容器在环境变量开启时成功启动。
-
本文针对公有云com环境数据向csp环境迁移时程序版本不一致且无法升级的问题,介绍了实现流程。通过分析Git日志找出14个数据库迁移文件的差异,确认多出的SQL主要为表结构调整。在无法统一结构的情况下,将两个数据库导入本地,编写支持租户ID参数的迁移命令,使用事务处理并逐一迁移表。文章记录了pa_plan表的迁移过程,成功将4个租户的数据迁移至csp环境,并探讨了潜在的主键冲突及关联表处理问题。
-
针对 MySQL 容器查询时报错提示不兼容 ONLY_FULL_GROUP_BY 的问题,文章记录了在容器内连接 MySQL 并临时修改 sql_mode 的操作过程。通过执行 set global 命令调整设置后,查询 SQL 不再报错且接口响应恢复正常,这是一种临时的解决方案,若容器升级或重新部署则需要重新执行。
-
在请求企鹅号视频文件分片上传接口时出现 Curl error #55 TCP connection reset by peer 报错。经排查,视频文件及分片参数计算均正确,状态显示上传至第 5 个分片失败。使用相同文件重新上传成功,未复现该问题。初步判断为网络抖动或服务器不稳定导致的偶发性连接中断,开发人员无法在本地环境稳定复现,暂需后续持续观察。
-
在部署项目到华为云ARM架构服务器时,因基础镜像导致PHP版本变更为7.2.20,与Composer依赖要求的7.3.0版本冲突。解决方法是修改composer.json将PHP版本要求降低至7.2.0,同时将本地环境切换至7.2.14以保持一致。随后删除vendor目录和composer.lock文件,重新执行composer install,最终健康检查脚本正常响应,问题解决。
-
本文针对在接口调用结束后统一发送多条操作日志至中台系统的需求,探讨了在 Yii 2.0 中利用 Yii::$app->params 设置与获取全局变量的实现方法。文章介绍了通过编辑配置文件和语言包对日志消息进行分类与模板配置的过程,演示了如何编写方法将生成的日志存入全局变量,并在 EVENT_AFTER_REQUEST 事件触发时判断并获取变量中的记录,最终实现了一次 HTTP 请求批量发送日志的预期效果。
-
在 Rancher 环境中发现配置的环境变量在容器日志中缺失,导致配置文件内的部分变量未被替换。排查发现缺失变量前缀不同,调整前缀及配置文件命名后问题依旧。进一步检查初始化日志发现路径报错,通过修改脚本将相对路径更正为绝对路径。最终验证日志显示全部变量生效,配置文件中的变量也已成功替换。
-
针对在 OpenResty 中请求 https 网址报错 unable to get local issuer certificate 的问题,通过参考相关技术资料,在 lua-resty-http 发起请求的代码中添加 ssl_verify = false 选项进行配置。修改代码后再次请求 https 网址,未再出现报错,实际运行结果符合预期。
-
在 Windows 10 运行 OpenResty 时遇到 500 Internal Server Error 错误,日志提示 module ‘lib.redis’ not found。通过编辑 Nginx 文件添加 lua_package_path 配置文件寻址路径,重启后发现 ?.lua 被替换为 lib\redis.lua 从而导致路径错误。再次修改配置,删除路径中多余的 /lib 后重启 Nginx 服务器,程序成功运行且不再报错。
