为Moodle配置的Apache/PHP环境,包含所有支持的数据库驱动
收藏数: 56
下载次数: 4569009
状态: active
发布者: moodlehq
类型: 镜像
moodlehq/moodle-php-apache基于官方PHP镜像配置的Moodle开发PHP环境。
| PHP版本 | 变体 | 标签 | 状态 | 说明 |
|---|---|---|---|---|
| PHP 8.4 | Bookworm | dev | 提供内容linux/amd64和linux/arm64镜像。注意linux/arm64暂不支持sqlsrv和oci扩展。除此之外,两种架构功能完全相同此镜像使用Apache HTTPD服务器提供所有内容,需要最少的手动配置。
可以使用APACHE_DOCUMENT_ROOT环境变量配置Apache的DocumentRoot指令,例如:
bashdocker run \ --name web0 \ -p 8080:80 \ -v $PWD/moodle:/srv/moodle -e APACHE_DOCUMENT_ROOT=/srv/moodle \ moodle-php-apache:latest
注意:指定DocumentRoot将覆盖默认根目录,并会阻止镜像自动配置任何Moodle特定配置。
作为完整PHP配置文件的轻量级替代方案,您可以在启动容器时指定一组带前缀的环境变量,这些变量将转换为ini格式配置。
任何名称以PHP_INI-为前缀的环境变量将被移除前缀,并在主命令启动前添加到新的ini文件中。
bashdocker run \ --name web0 \ -p 8080:80 \ -v $PWD/moodle:/var/www/html -e PHP_INI-upload_max_filesize=200M \ -e PHP_INI-post_max_size=210M \ moodle-php-apache:latest
为方便测试和轻松设置,默认创建以下目录并归www-data所有:
/var/www/moodledata/var/www/phpunitdata/var/www/behatdata/var/www/behatfaildumps此镜像支持使用docker-entrypoint.d目录的自定义初始化脚本。这些脚本可以是以下格式:
.sh脚本,将被_源代码化_并改变当前上下文.sh脚本,将在当前上下文中_执行_.ini文件,将被复制到PHP配置目录(/usr/local/etc/php/conf.d)标准包含以下脚本:
10-wwwroot.sh - 非可执行脚本,用于在未提供APACHE_DOCUMENT_ROOT时猜测该值这些脚本无法删除,但可以通过在您自己的docker-entrypoint.d位置创建具有匹配文件名的文件来禁用它们。
还可以提供其他脚本,例如,要配置PHP以支持更高的upload_max_filesize选项,您可以将以下内容添加到config/10-uploads.ini文件中:
; 指定上传的最大文件大小为200M upload_max_filesize = 200M post_max_size = 210M
启动容器时,可以传入配置目录:
docker run \ --name web0 \ -p 8080:80 \ -v $PWD/moodle:/var/www/html -v $PWD/config:/docker-entrypoint.d \ moodle-php-apache:latest
这些初始化文件将按照当前区域设置定义的排序名称顺序执行,默认为en_US.utf8。
标准包含以下扩展:
以上所有扩展默认启用,除了:
已安装但未启用的几个扩展可以轻松启用。
启动容器时指定以下环境变量可启用xdebug扩展:
bashPHP_EXTENSION_xdebug=1
启动容器时指定以下环境变量可启用xhprof扩展:
bashPHP_EXTENSION_xhprof=1
pcov扩展通常不用于Web UI,但广泛用于单元测试中的代码覆盖率生成。
启动容器时指定以下环境变量可启用它:
bashPHP_INI-pcov.enabled=1
此容器是Moodle开发容器集的一部分,另请参见:
以下是 moodlehq/moodle-php-apache 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像服务
在 Docker Desktop 配置镜像
Docker Compose 项目配置
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
MacOS OrbStack 容器配置
在宝塔面板一键配置镜像
Synology 群晖 NAS 配置
飞牛 fnOS 系统配置镜像
极空间 NAS 系统配置服务
爱快 iKuai 路由系统配置
绿联 NAS 系统配置镜像
QNAP 威联通 NAS 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
来自真实用户的反馈,见证轩辕镜像的优质服务