分类: 编程语言
-
针对 PHP 7.4 中出现的 mkdir(): File exists 报错,文章分析了该问题通常由代码中先判断目录不存在再创建目录的逻辑在请求并发时引发冲突所致。文章演示了在本地环境复现该报错的过程,并提出通过调整代码实现,使用错误控制运算符 @ 来屏蔽 mkdir 函数产生的警告,最终经测试确认该方案能有效解决报错问题。
-
在 Laravel 6 开发中遇到 syntax error, unexpected ‘,’ expecting ‘]’ 报错,直接捕获异常失败。经排查,将代码中的 Throwable $e 修改为 \Throwable $e 后,成功捕获异常并生成日志。该过程解决了因命名空间冲突导致的异常捕获失效问题。
-
本文记录了将Shopify PHP应用从开发环境部署至阿里云ECS生产环境的过程。主要操作包括在Shopify合作伙伴中心创建独立应用,将ECS环境中的PHP由7.4升级至8.1,配置域名SSL解析,并调整PHP配置以解决proc_open限制。部署过程中通过修改数据库引擎参数修复了迁移报错,更新Nginx配置和.env文件解决了权限与参数错误,最终构建前后端代码并重新安装应用,成功实现了页面正常加载。
-
为了在阿里云 ECS 上满足 Shopify 应用的运行需求,需要将 CentOS 7.7 环境下的 PHP 7.4 升级至 8.1。鉴于手动卸载配置面临 yum 源失效及回滚失败的问题,最终选择将系统迁移至 Alibaba Cloud Linux 3 并使用 OneinStack 脚本进行自动安装。安装过程因 fileinfo 扩展编译在 1GB 内存环境下卡死而受阻,经排查确认是因服务器内存不足导致,最终通过提升 ECS 实例内存配置解决了该问题。
-
在阿里云 ECS 编译安装 PHP 扩展 fileinfo 时,安装过程一直卡住。经排查,由于该扩展编译过程非常消耗内存,原有的 1 GB 内存配置不足是导致卡死的直接原因。文章记录了通过 ECS 控制台将实例规格从 ecs.n1.tiny 升级至 ecs.n1.small 以提升内存至 2 GB 的操作流程。配置变更并重启实例后,再次尝试安装,问题成功解决,文中还提及了配置 SWAP 分区作为备选方案。
-
本文介绍了在 WSL2 的 Ubuntu-20.04 环境中卸载 PHP 7.4 并安装 PHP 8 的操作过程。首先卸载了 PHP 7.4 及其相关依赖,随后添加了 PHP PPA 存储库,通过命令成功安装了 PHP 8.1,最终完成了版本升级。
-
本文记录了在 WSL2 的 Ubuntu-20.04 环境中安装 Shopify CLI 3.0 的过程。作者通过更新系统并使用 Node.js 源解决了版本过低问题,随后重置系统并利用 rbenv 脚本成功安装了符合要求的 Ruby 3.2.2。期间解决了编译工具缺失等依赖问题,最终确认包括开发环境、Git 等所有要求均满足,完成了环境准备。
-
针对 CSS 文件因 Content-Type 差异导致界面不一致的问题,文章分析了基于 mime_content_type 的检测实现,并介绍了如何替换为使用 league/mime-type-detection 的方案。新实现优先按内容检测,回退到按扩展名检测。测试结果显示生成的 Content-Type 符合预期,同时针对扩展名不存在返回 null 的情况进行了必要的回退处理。
