当前位置: 首页> 最新文章列表> 使用Docker Compose部署支持插件的PHP开发环境

使用Docker Compose部署支持插件的PHP开发环境

M66 2025-07-12

构建支持插件扩展的PHP开发环境

在当今Web开发中,插件系统的使用已成为扩展PHP应用程序功能的重要方式。通过容器化部署方式,可以快速、灵活地构建可扩展的开发环境。本文将展示如何使用Docker Compose结合Nginx和MariaDB,搭建一个支持插件扩展的PHP环境。

安装Docker和Docker Compose

首先,确保你的系统中已正确安装了Docker和Docker Compose。安装完成后,通过以下命令验证:

docker --version
docker-compose --version

编写 Docker Compose 配置文件

在项目根目录中创建 docker-compose.yml 文件,添加以下内容:

version: '3'
services:
  web:
    build:
      context: .
      dockerfile: Dockerfile
    volumes:
      - .:/var/www/html
    ports:
      - 8080:80
    links:
      - db

  db:
    image: mariadb
    environment:
      MYSQL_ROOT_PASSWORD: secret

该配置定义了两个服务:PHP运行环境(web)和数据库服务(db)。PHP服务通过Nginx对外提供访问接口。

创建 PHP 镜像的 Dockerfile

新建 Dockerfile 文件,并写入以下内容:

FROM php:7.4-fpm
RUN docker-php-ext-install pdo_mysql

这个镜像使用 PHP 7.4 并预装了 pdo_mysql 扩展,你可以根据项目需要添加更多 PHP 插件。

配置 Nginx 虚拟主机

在项目目录下创建 Nginx 配置文件 default.conf,内容如下:

server {
    listen 80;
    index index.php index.html;
    server_name localhost;
    root /var/www/html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include fastcgi_params;
        fastcgi_pass web:9000;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
    }
}

该配置实现了基本的请求转发与PHP解析逻辑,确保访问PHP文件时由PHP-FPM容器处理。

启动PHP开发环境

在项目根目录运行以下命令:

docker-compose up -d

此命令将根据配置构建并启动所需容器。

连接MariaDB数据库

你可以使用任何图形化数据库工具连接MariaDB,例如DBeaver、Navicat或phpMyAdmin。连接信息如下:

Host: localhost
Port: 3306
Username: root
Password: secret

开发和部署你的PHP项目

/var/www/html 目录中编写你的PHP代码,所有文件将被Nginx自动加载并处理。你可以在此环境中测试插件功能、处理数据库连接、构建REST API等。

总结

通过结合Docker Compose、Nginx和MariaDB,我们可以构建一个轻量、高效的PHP开发环境,特别适用于需要快速迭代、插件扩展能力强的开发场景。借助容器的灵活性,开发者可以更加专注于业务逻辑和插件功能的实现,而无需繁琐地配置底层运行环境。

这个解决方案具有高度可定制性,可根据项目需求进行拓展与优化,适合用于本地开发测试和团队协作开发流程中。