
protitude/oit-actions本Docker镜像基于官方php:8.1镜像构建,额外集成了运行GitHub Actions工作流所需的核心依赖组件,旨在为PHP项目提供稳定、高效的CI/CD执行环境,简化GitHub Actions中PHP相关任务(如代码拉取、依赖安装、测试执行等)的配置流程。
php:8.1镜像,确保PHP 8.1运行环境的兼容性和稳定性git(代码拉取)、curl/wget(依赖下载)、unzip(解压文件)等mbstring、xml、json、zip等),满足多数PHP项目基础需求通过以下命令启动容器并执行PHP任务(以运行PHPUnit测试为例):
bashdocker run --rm \ -v $(pwd):/github/workspace \ # 挂载当前工作目录到容器内GitHub工作区 -w /github/workspace \ # 设置工作目录 [镜像名称] \ # 替换为实际镜像名称或标签 php vendor/bin/phpunit # 执行PHPUnit测试命令
支持通过环境变量自定义运行行为,常用配置如下:
| 环境变量名 | 描述 | 默认值 |
|---|---|---|
COMPOSER_HOME | Composer缓存目录 | /root/.composer |
PHP_INI_DIR | PHP配置文件存放目录 | /usr/local/etc/php |
GITHUB_WORKSPACE | GitHub Actions工作区路径 | /github/workspace |
示例:自定义Composer缓存目录
bashdocker run --rm \ -e COMPOSER_HOME=/tmp/composer \ -v $(pwd):/github/workspace \ -w /github/workspace \ [镜像名称] \ composer install
创建docker-compose.yml文件,定义PHP任务服务:
yamlversion: '3.8' services: php-ci: image: [镜像名称] # 替换为实际镜像名称或标签 volumes: - .:/github/workspace working_dir: /github/workspace environment: - COMPOSER_HOME=/tmp/composer - PHP_INI_DIR=/usr/local/etc/php command: php vendor/bin/phpunit # 默认执行PHPUnit测试
启动服务:
bashdocker-compose run --rm php-ci
在.github/workflows/php-test.yml中使用该镜像:
yamlname: PHP Tests on: [push, pull_request] jobs: test: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Run PHP tests with custom image uses: docker://[镜像名称] # 替换为实际镜像名称或标签 with: args: php vendor/bin/phpunit
如需额外PHP扩展,可通过docker-php-ext-install命令在容器启动时安装(需确保基础依赖已满足):
bashdocker run --rm \ -v $(pwd):/github/workspace \ -w /github/workspace \ [镜像名称] \ sh -c "apt-get update && apt-get install -y libpq-dev && docker-php-ext-install pdo_pgsql && php vendor/bin/phpunit"

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