为Moodle配置的Apache/PHP环境,包含所有支持的数据库驱动
收藏数: 57
下载次数: 4605408
类型:

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 镜像,适用于 不同场景 等不同场景:
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 版本下载页面。

manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务