💡
原文中文,约6900字,阅读约需17分钟。
📝
内容提要
文章介绍了如何通过 Docker 将旧版 PHP 7.4 升级到 8.2,以避免 Oneinstack 的安全问题。通过 Dockerfile 安装所需扩展,并配置 PHP-FPM 和 Nginx,实现容器内外的协作,确保 PHP 配置文件管理和扩展的灵活性。
🎯
关键要点
- 文章介绍了如何通过 Docker 将 PHP 7.4 升级到 8.2,以避免 Oneinstack 的安全问题。
- 由于 Oneinstack 的升级脚本不再安全,决定使用 Docker 部署 PHP。
- Dockerfile 中安装了所需的 PHP 扩展,并配置了 PHP-FPM 和 Nginx。
- PHP 和 Nginx 的配置文件管理在容器外,确保灵活性。
- 使用 docker-compose 文件来管理容器的启动和配置。
- PHP-FPM 的 socket 文件配置为 unix socket,以便与 Nginx 进行通信。
- 在需要增加新的 PHP 扩展时,需要重新复制配置文件以确保新扩展加载。
❓
延伸问答
如何将 PHP 从 7.4 升级到 8.2?
可以通过 Docker 部署来将 PHP 从 7.4 升级到 8.2,避免使用 Oneinstack 的升级脚本。
为什么选择使用 Docker 而不是 Oneinstack 升级?
因为 Oneinstack 的升级脚本不再安全,且老系统的 apt 安装存在困难,因此选择使用 Docker 部署。
Dockerfile 中需要安装哪些 PHP 扩展?
需要安装的 PHP 扩展包括 bcmath、gd、intl、mysqli、opcache、imagick、redis 和 memcached 等。
如何配置 PHP-FPM 与 Nginx 的通信?
通过配置 PHP-FPM 的 socket 文件为 unix socket,并在 Nginx 配置中指向该 socket 文件来实现通信。
如何管理 Docker 容器的配置文件?
可以在容器外部管理 PHP 相关的配置文件,并通过挂载卷的方式将其与容器内的配置文件关联。
如果需要增加新的 PHP 扩展,应该怎么做?
需要重新启动一个容器,将新扩展的配置文件复制到容器外部的配置目录,以确保新扩展能够加载。
➡️