使用 Docker 安装 PHP 环境是一种快速、隔离且可移植的方式。以下是详细步骤:
首先确保已安装 Docker:
- Windows/Mac
- Linux (Ubuntu 为例):
bash
sudo apt-get update
sudo apt-get install docker.io
sudo systemctl start docker
sudo systemctl enable docker
docker run -d --name myphp -p 8080:80 -v /本地路径:/var/www/html php:apache
docker-compose.yml
文件:version: '3'
services:
php:
image: php:8.2-apache
ports:
- "8080:80"
volumes:
- ./www:/var/www/html
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html/public
docker-compose up -d
PHP 官方镜像默认安装的扩展较少,可以通过 Dockerfile 添加:
FROM php:8.2-apache
# 安装常用扩展
RUN docker-php-ext-install pdo pdo_mysql mysqli gd opcache
# 安装 Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# 其他配置...
然后构建镜像:
docker build -t my-php-image .
php:apache
- Apache + PHPphp:fpm
- PHP-FPM (需配合 Nginx 使用)php:cli
- 仅命令行php:8.2-zts
- 线程安全版本创建测试文件 www/info.php
:
<?php phpinfo(); ?>
访问 http://localhost:8080/info.php
查看 PHP 信息。
docker exec -it myphp bash
docker logs myphp
docker stop myphp
docker start myphp
docker rm myphp
对于生产环境,建议:
1. 使用自定义 Dockerfile 精确控制环境
2. 配置适当的 PHP 设置(通过 php.ini
)
3. 设置正确的文件权限
4. 考虑使用 PHP-FPM + Nginx 组合
通过 Docker 安装 PHP 环境可以快速搭建、易于维护,并且能确保开发和生产环境的一致性。