DNMP是基于docker部署的Nginx、PHP、MySQL開發(fā)環(huán)境
- 支持php5.6、php7.0、php7.1、php7.2、php7.3、php7.4、php8.0、php8.1同時(shí)運(yùn)行并可直接項(xiàng)目指定PHP版本,已支持常見擴(kuò)展,如bcmath、gd、opcache、pdo_mysql、zip、Redis、xdebug、swoole、MongoDB等,并且可通過對(duì)應(yīng)的Dockerfile中按例添加自己所需要的擴(kuò)展
- 支持MySQL5.6、MySQL5.7、MySQL8.0
- 安裝 Docker: 首先,確保你的系統(tǒng)上已經(jīng)安裝了 Docker。如果沒有,可以從 Docker 官方網(wǎng)站 下載并安裝。
- 拉取 PHP 鏡像: 你需要拉取不同版本的 PHP 鏡像。例如,拉取 PHP 5.6 和 PHP 7.4 的鏡像:
docker pull php:5.6-fpm
docker pull php:7.4-fpm
5. 創(chuàng)建 PHP 容器: 創(chuàng)建并運(yùn)行 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: 拉取并運(yùn)行 Nginx 容器,并配置 Nginx 以支持多個(gè) 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 虛擬主機(jī): 在 Nginx 配置文件中設(shè)置虛擬主機(jī),以便將請(qǐng)求分別轉(zhuǎn)發(fā)到不同的 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 文件: 在本地機(jī)器上更新 hosts 文件,以便將域名解析到本地:
127.0.0.1 php56.local
127.0.0.1 php74.local
通過以上步驟,就可以在Docker上運(yùn)行多外PHP版本,如果有任何問題可以在下方留言!