如果不使用 docker-compose,可以直接使用 Docker 命令来运行 PHP Web 环境并支持热更新。

1. 创建本地项目目录

在当前目录下创建一个 html 文件夹,存放你的 PHP 项目代码。

示例文件 html/index.php:

<?php
echo "Hello, World! ";
echo "Current Time: " . date('Y-m-d H:i:s');
?>

2. 可选:创建自定义 PHP 配置文件

创建一个 php.ini 文件(如需自定义 PHP 设置):

示例文件 php.ini:

[PHP]
# 启用错误报告
error_reporting = E_ALL
display_errors = On
display_startup_errors = On

# 配置 OPCache 以支持文件变更即时生效
opcache.enable = 1
opcache.validate_timestamps = 1
opcache.revalidate_freq = 0

3. 运行 PHP 容器

运行以下命令以启动 PHP 容器,并支持热更新:

docker run -d \
--name php_web \
-p 8080:80 \
-v "$(pwd)/html:/var/www/html" \
-v "$(pwd)/php.ini:/usr/local/etc/php/php.ini" \
php:8.2-apache

参数说明

-d:后台运行容器。

--name php_web:为容器命名为 php_web。

-p 8080:80:将主机的 8080 端口映射到容器的 80 端口。

-v "$(pwd)/html:/var/www/html":挂载当前目录的 html 文件夹到容器中的 /var/www/html,支持代码热更新。

-v "$(pwd)/php.ini:/usr/local/etc/php/php.ini":挂载自定义的 PHP 配置文件到容器(可选)。


4. 测试热更新

1. 打开浏览器访问 http://localhost:8080。


2. 修改 html/index.php 文件内容,例如将 Hello, World! 改为其他内容。


3. 保存文件后刷新浏览器页面,改动会立即生效。



5. 停止和删除容器

如需停止并删除容器,运行以下命令:

docker stop php_web && docker rm php_web

6. 重启容器

如果需要重启容器:

docker start php_web

这种方式简单快捷,适合快速启动和调试开发环境。
 
 
Back to Top