DNMP是基于docker部署的Nginx、PHP、MySQL开发环境
- 支持php5.6、php7.0、php7.1、php7.2、php7.3、php7.4、php8.0、php8.1同时运行并可直接项目指定PHP版本,已支持常见扩展,如bcmath、gd、opcache、pdo_mysql、zip、Redis、xdebug、swoole、MongoDB等,并且可通过对应的Dockerfile中按例添加自己所需要的扩展
- 支持MySQL5.6、MySQL5.7、MySQL8.0
- 安装 Docker: 首先,确保你的系统上已经安装了 Docker。如果没有,可以从 Docker 官方网站 下载并安装。
- 拉取 PHP 镜像: 你需要拉取不同版本的 PHP 镜像。例如,拉取 PHP 5.6 和 PHP 7.4 的镜像:
docker pull php:5.6-fpm
docker pull php:7.4-fpm
5. 创建 PHP 容器: 创建并运行 PHP 5.6 和 PHP 7.4 的容器:
docker run -d --name php56 -v /path/to/your/code:/var/www/html -p 9000:9000 php:5.6-fpm
docker run -d --name php74 -v /path/to/your/code:/var/www/html -p 9001:9000 php:7.4-fpm
6. 配置 Nginx: 拉取并运行 Nginx 容器,并配置 Nginx 以支持多个 PHP 版本:
docker pull nginx
docker run -d --name nginx -p 80:80 -v /path/to/nginx/conf:/etc/nginx/conf.d -v /path/to/your/code:/var/www/html nginx
7. 配置 Nginx 虚拟主机: 在 Nginx 配置文件中设置虚拟主机,以便将请求分别转发到不同的 PHP 容器。例如:
server {
listen 80;
server_name php56.local;
root /var/www/html;
location ~ \.php$ {
fastcgi_pass php56:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
server {
listen 80;
server_name php74.local;
root /var/www/html;
location ~ \.php$ {
fastcgi_pass php74:9001;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
7. 更新 Hosts 文件: 在本地机器上更新 hosts 文件,以便将域名解析到本地:
127.0.0.1 php56.local
127.0.0.1 php74.local
通过以上步骤,就可以在Docker上运行多外PHP版本,如果有任何问题可以在下方留言!
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}