分类: PHP 7.4
-
在 WSL2 的 Ubuntu 系统中执行安装 php7.4-cli 命令时,因 404 错误导致下载失败。通过运行 apt-get update 更新软件源后成功解决安装问题。随后在运行 php artisan 命令时,因 Composer 依赖要求 PHP 版本高于 8.0 而与当前 7.4 版本冲突,改为使用基于 Laravel Sail 的 Docker 容器执行 sail artisan 命令,最终成功生成控制器。
-
针对 Windows 10 专业版中 php-cgi.exe 执行命令后自动退出的问题,文章记录了排查过程。初步安装 Visual C++ 2015 运行库后,系统提示 vcruntime140.dll 版本不兼容。通过参考官方文档,下载并安装 Microsoft Visual C++ Redistributable for Visual Studio 2017 运行库,成功解决了版本兼容报错。最终执行 php -v 命令能正确显示 PHP 版本,程序恢复正常运行。
-
针对机试中设计高精度加法函数的需求,在不使用 bcadd 等自带函数的前提下,文章提供了一种支持长数字相加且不损失精度的实现方案。该方案通过字符串操作处理数值,在忽略负数的前提下完成了加法运算。经测试,将 64474.47265 与 24562.45124 相加,结果为 89036.92389,符合预期。当前版本对请求参数的容错处理尚待完善。
-
容器更换基础镜像后,在特定 Rancher 环境变量开启时启动失败并提示模块已加载。经排查,原因为命令行执行时重复加载了 gd、exif 和 sockets 扩展。最终通过修改 Dockerfile,利用 sed 命令从配置文件中删除对应扩展的加载项,解决了重复加载报错问题,确保了容器在环境变量开启时成功启动。
-
本文针对公有云com环境数据向csp环境迁移时程序版本不一致且无法升级的问题,介绍了实现流程。通过分析Git日志找出14个数据库迁移文件的差异,确认多出的SQL主要为表结构调整。在无法统一结构的情况下,将两个数据库导入本地,编写支持租户ID参数的迁移命令,使用事务处理并逐一迁移表。文章记录了pa_plan表的迁移过程,成功将4个租户的数据迁移至csp环境,并探讨了潜在的主键冲突及关联表处理问题。
-
在请求企鹅号视频文件分片上传接口时出现 Curl error #55 TCP connection reset by peer 报错。经排查,视频文件及分片参数计算均正确,状态显示上传至第 5 个分片失败。使用相同文件重新上传成功,未复现该问题。初步判断为网络抖动或服务器不稳定导致的偶发性连接中断,开发人员无法在本地环境稳定复现,暂需后续持续观察。
-
本文针对在接口调用结束后统一发送多条操作日志至中台系统的需求,探讨了在 Yii 2.0 中利用 Yii::$app->params 设置与获取全局变量的实现方法。文章介绍了通过编辑配置文件和语言包对日志消息进行分类与模板配置的过程,演示了如何编写方法将生成的日志存入全局变量,并在 EVENT_AFTER_REQUEST 事件触发时判断并获取变量中的记录,最终实现了一次 HTTP 请求批量发送日志的预期效果。
-
在 PHP 环境中遇到 Notice: Unknown: file created in the system’s temporary directory 报错。排查 php.ini 配置发现,该错误由文件上传时使用的临时目录不存在引起。通过新建对应的临时目录,成功解决了报错问题,系统恢复正常运行。
-
文章记录了在 Laravel 5.4 环境中遇到 Call to undefined function exif_read_data() 报错的排查过程。经检查发现是服务器未安装 Exif 扩展导致,随后在 Windows 环境下通过编辑 php.ini 文件取消相关扩展前的分号注释并重启服务,最终确认扩展加载成功,图片上传恢复正常,问题得以解决。
-
文章介绍了在 Yii 2.0 中基于 Workerman 启动运行命令行的过程。首先通过 Composer 安装 Workerman,并使用脚本检测 Linux 系统的 PHP 环境是否满足运行要求。随后参考同事实现编辑配置文件,成功启动命令并查看运行状态。该方法将原有的基于 supervisord 运行 PHP 命令行脚本调整为基于 Workerman 运行。
