分类: 编程语言
-
针对 Windows 10 专业版中 php-cgi.exe 执行命令后自动退出的问题,文章记录了排查过程。初步安装 Visual C++ 2015 运行库后,系统提示 vcruntime140.dll 版本不兼容。通过参考官方文档,下载并安装 Microsoft Visual C++ Redistributable for Visual Studio 2017 运行库,成功解决了版本兼容报错。最终执行 php -v 命令能正确显示 PHP 版本,程序恢复正常运行。
-
文章针对Redis setnx指令无法设置过期时间的问题,提出了三种解决方案。方案一使用Multi/Exec包裹Expire确保原子性;方案二利用SET命令扩展功能实现并引入随机值防止误删;方案三通过时间戳判断与getset避免死锁。分析指出方案三实现复杂且存在并发隐患,最终决定优化方案二,结合MySQL乐观锁解决业务执行超时问题。
-
针对机试中设计高精度加法函数的需求,在不使用 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 环境中发现配置的环境变量在容器日志中缺失,导致配置文件内的部分变量未被替换。排查发现缺失变量前缀不同,调整前缀及配置文件命名后问题依旧。进一步检查初始化日志发现路径报错,通过修改脚本将相对路径更正为绝对路径。最终验证日志显示全部变量生效,配置文件中的变量也已成功替换。
