
nicoherbigde/phpPHP Docker镜像是官方提供的容器化PHP运行时环境,基于轻量级基础镜像构建,包含预配置的PHP解释器及常用扩展。该镜像支持多种PHP版本(5.6+、7.x、8.x系列)和部署模式(CLI、Apache、FPM),可快速集成到开发、测试和生产环境,简化PHP应用的环境配置与部署流程。
php:8.3-cli、php:7.4-fpmphp:<version>:基础CLI版本,适用于命令行脚本php:<version>-apache:集成Apache服务器,直接提供Web服务php:<version>-fpm:FastCGI进程管理器,需配合Nginx等反向代理使用php:<version>-alpine:基于Alpine Linux的轻量级版本(体积更小)docker-php-ext-configure、docker-php-ext-install、docker-php-ext-enable命令快速安装/启用扩展(如pdo_mysql、mbstring、gd等)php.ini文件或在Dockerfile中添加配置指令覆盖默认PHP配置运行PHP脚本文件:
bash# 挂载当前目录到容器/app目录,执行脚本 docker run --rm -v $(pwd):/app php:latest php /app/your_script.php
使用php:apache变体直接提供Web服务:
bash# 将当前目录作为网站根目录,映射80端口到本地8080 docker run -d -p 8080:80 -v $(pwd):/var/www/html --name php-apache php:apache
访问http://localhost:8080即可查看网站内容(需确保当前目录有index.php文件)。
使用php:fpm配合Nginx反向代理(推荐生产环境):
docker-compose.yml:yamlversion: '3' services: php-fpm: image: php:8.3-fpm volumes: - ./php-app:/var/www/html restart: always nginx: image: nginx:alpine ports: - "8080:80" volumes: - ./php-app:/var/www/html - ./nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - php-fpm restart: always
nginx.conf:nginxserver { listen 80; root /var/www/html; index index.php index.html; location ~ \.php$ { fastcgi_pass php-fpm:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
bashdocker-compose up -d
通过docker-php-ext-install安装PHP扩展(需在Dockerfile中或容器内执行):
dockerfileFROM php:8.3-fpm # 安装pdo_mysql和gd扩展 RUN docker-php-ext-install pdo_mysql gd # 安装需要额外依赖的扩展(如imagick) RUN apt-get update && apt-get install -y libmagickwand-dev \ && pecl install imagick \ && docker-php-ext-enable imagick
bashdocker build -t my-php-app . docker run --rm my-php-app php -m | grep pdo_mysql # 验证扩展是否安装成功
通过挂载自定义php.ini覆盖默认配置:
bash# 创建自定义php.ini(可从容器内复制默认配置修改) docker run --rm php:latest cat /usr/local/etc/php/php.ini-production > php.ini # 编辑php.ini后挂载使用 docker run --rm -v $(pwd)/php.ini:/usr/local/etc/php/php.ini php:latest php -i | grep upload_max_filesize
php:latest或特定版本(如php:8.3-cli)快速验证php:8.3.4-fpm-alpine)确保环境一致性,优先选择Alpine变体减小镜像体积php:7.4-cli, php:8.0-cli)验证应用在不同PHP版本的兼容性
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务