You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions部署Laravel 11 Sail时Docker构建报错(php.ini未找到)

解决Laravel Sail Docker构建时找不到php.ini的问题

问题原因

构建失败的核心原因是:你指定的Dockerfile(./vendor/laravel/sail/runtimes/8.3/Dockerfile)执行COPY php.ini /etc/php/8.3/cli/conf.d/99-sail.ini时,构建上下文(项目根目录,context: .)中不存在php.ini文件。本地能正常构建是因为你的本地项目根目录有这个文件,但它要么没被提交到Git仓库,要么被.gitignore规则排除了,导致GitHub Actions拉取代码后找不到该文件。

解决方案

方案1:提交php.ini到Git仓库

  1. 检查项目根目录的.gitignore文件,若存在php.ini条目则删除它。
  2. 将本地的php.ini添加到Git并提交:
    git add php.ini
    git commit -m "Add php.ini to repository"
    git push origin main
    
    后续GitHub Actions拉取代码时就能获取到该文件,构建时即可正常执行复制操作。

方案2:在构建流程中生成php.ini(无需提交到仓库)

如果不想把php.ini提交到仓库,可以在GitHub Actions的构建步骤中,从Sail的runtime目录复制默认配置文件到项目根目录:

修改你的GitHub Actions配置文件,在Install Composer dependencies步骤后添加以下内容:

- name: Copy Sail default php.ini to project root
  run: cp ./vendor/laravel/sail/runtimes/8.3/php.ini ./php.ini

修改后的build任务完整步骤如下:

jobs:
 build:
 runs-on: ubuntu-latest

 steps:
  - name: Checkout code
    uses: actions/checkout@v3

  - name: Setup PHP
    uses: shivammathur/setup-php@v2
    with:
      php-version: '8.2'

  - name: Install Composer dependencies
    run: composer install --no-interaction --prefer-dist --optimize-autoloader

  - name: Copy Sail default php.ini to project root
    run: cp ./vendor/laravel/sail/runtimes/8.3/php.ini ./php.ini

  - name: List files in runtimes directory
    run: ls -la ./vendor/laravel/sail/runtimes/8.3

  - name: Set up Docker Buildx
    uses: docker/setup-buildx-action@v2

  - name: Login to Docker Hub
    uses: docker/login-action@v2
    with:
      username: ${{ secrets.DOCKER_USERNAME }}
      password: ${{ secrets.DOCKER_PASSWORD }}

  - name: Build and push Docker image
    uses: docker/build-push-action@v3
    with:
      context: .
      file: ./vendor/laravel/sail/runtimes/8.3/Dockerfile
      push: true
      tags: marcellopato/webroker:latest
      build-args: |
        WWWGROUP=1000

此操作会在Docker构建前,在项目根目录生成php.ini文件,满足Dockerfile的复制要求。


内容的提问来源于stack exchange,提问作者Marcello Pato

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 04:06:11