如何在 GitHub 操作中使用不同版本的 PHP 进行测试

How to test with different versions of PHP in a GitHub Action

我有一些 PHP 测试代码 运行 使用 PHPUnit 并想在 GitHub Actions 上测试它。我在他们的文档中找不到用于测试 PHP 包的方法。 我想使用不同版本的 PHP 进行测试,但他们只安装了最新的 7.3

您可以在工作流程中添加 setup-php 操作。如果不存在,它会安装您指定的 PHP 版本以及所需的扩展和各种工具,如 composer。它支持 GitHub Actions 和 PHP versions >= 5.3.

支持的所有虚拟环境

例如,您可以拥有这样的工作流程

jobs:
  run:    
    runs-on: ${{ matrix.operating-system }}
    strategy:
      matrix:
        operating-system: [ubuntu-latest, windows-latest, macOS-latest]
        php-versions: ['7.2', '7.3']
    name: PHP ${{ matrix.php-versions }} Test on ${{ matrix.operating-system }}
    steps:
    - name: Checkout
      uses: actions/checkout@v2
    - name: Install PHP
      uses: shivammathur/setup-php@v2
      with:
        php-version: ${{ matrix.php-versions }}
        extensions: intl #optional
        ini-values: "post_max_size=256M" #optional
    - name: Check PHP Version
      run: php -v

注意:这将设置 PHP,您需要使用 composer 添加步骤来安装依赖项,并使用 PHPUnit[= 添加另一个 运行 测试步骤22=]

您可以在 extensions 中指定所需的扩展,在 ini-values 中指定您想要的 php.ini 配置。这两个输入都是可选的,并且将 CSV 作为输入。 php-version 输入是必需的。在上面的示例中,它将 运行 工作流程并使用 matrix.php-versions 中指定的版本设置 PHP 环境,即 7.27.3,您可以根据需要进行调整您的要求。