
ipgan/php-custom本镜像提供了一个预配置的PHP运行环境,已集成多种常用扩展模块及Composer依赖管理工具,旨在简化PHP应用的开发、测试与部署流程。无需手动安装核心扩展和依赖管理工具,可直接用于运行各类PHP应用程序。
mysqli:MySQL数据库交互扩展,支持过程式和面向对象接口PDO:PHP数据对象扩展,提供统一的数据库访问接口,支持MySQL、PostgreSQL、SQLite等多种数据库mbstring(多字节字符串处理)、curl(HTTP请求)、gd(图像处理)、json(JSON数据处理)、openssl(加密功能)等开发必备模块docker-php-ext-install命令添加更多扩展composer install、composer require等命令管理项目依赖,无需额外安装bash# 查看PHP版本 docker run --rm [镜像名称] php -v # 查看已安装扩展模块 docker run --rm [镜像名称] php -m
bash# 运行当前目录下的index.php文件 docker run --rm -v $(pwd):/app -w /app [镜像名称] php index.php
bashdocker run --rm -v $(pwd):/app -w /app [镜像名称] composer init
bash# 基于composer.json安装依赖 docker run --rm -v $(pwd):/app -w /app [镜像名称] composer install # 添加新依赖包(如laravel/framework) docker run --rm -v $(pwd):/app -w /app [镜像名称] composer require laravel/framework
默认PHP配置文件路径为/usr/local/etc/php/php.ini,可通过挂载本地配置文件覆盖默认配置:
bash# 使用自定义php.ini docker run --rm -v $(pwd)/php.ini:/usr/local/etc/php/php.ini [镜像名称] php -i | grep "Loaded Configuration File"
支持通过环境变量调整PHP运行参数,常用变量包括:
PHP_INI_SCAN_DIR:自定义PHP配置文件扫描目录(默认/usr/local/etc/php/conf.d)COMPOSER_ALLOW_SUPERUSER=1:允许root用户执行Composer命令(容器内默认以root运行时需设置)bash# 启动容器并运行PHP内置Web服务器(适用于开发环境) docker run -d -p 8080:8080 -v $(pwd):/app -w /app [镜像名称] php -S 0.0.0.0:8080
yamlversion: '3' services: php: image: [镜像名称] volumes: - ./app:/var/www/html working_dir: /var/www/html depends_on: - mysql nginx: image: nginx:alpine ports: - "80:80" volumes: - ./app:/var/www/html - ./nginx.conf:/etc/nginx/conf.d/default.conf depends_on: - php mysql: image: mysql:8.0 environment: MYSQL_ROOT_PASSWORD: root MYSQL_DATABASE: app_db
说明:上述配置需配合Nginx配置文件(nginx.conf)将PHP请求转发至PHP容器处理,适用于生产环境Web应用部署。
--user参数指定非root用户运行容器,增强安全性FROM [镜像名称] RUN docker-php-ext-install soap)manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务