使用所需的扩展、php.ini 配置、代码覆盖支持和各种工具(例如 GitHub Actions 中的 Composer)设置 PHP。此操作为您提供了一个跨平台界面来设置测试应用程序所需的 PHP 环境。请参阅“用法”部分和示例以了解如何使用它。
以下操作系统/平台上的setup-php支持GitHub-hosted和self-hosted运行器。
| 虚拟环境 | YAML 工作流程标签 | 预装 PHP |
|---|---|---|
| 乌班图24.04 | ubuntu-24.04 | PHP 8.3 |
| 乌班图22.04 | ubuntu-latest或ubuntu-22.04 | PHP 8.1 |
| 乌班图20.04 | ubuntu-20.04 | PHP 7.4至PHP 8.3 |
| Windows Server 2022 | windows-latest或windows-2022 | PHP 8.3 |
| Windows 服务器 2019 | windows-2019 | PHP 8.3 |
| macOS 红杉 15.x | macos-15 | - |
| macOS 索诺玛 14.x | macos-latest或macos-14 | - |
| macOS 文图拉 13.x | macos-13 | PHP 8.3 |
| 主机操作系统/虚拟环境 | YAML 工作流程标签 |
|---|---|
| 乌班图24.04 | self-hosted或Linux |
| 乌班图22.04 | self-hosted或Linux |
| 乌班图20.04 | self-hosted或Linux |
| Debian 12 | self-hosted或Linux |
| Debian 11 | self-hosted或Linux |
| Windows 7 及更高版本 | self-hosted或Windows |
| Windows Server 2012 R2 及更高版本 | self-hosted或Windows |
| macOS 红杉 15.x x86_64/arm64 | self-hosted或macOS |
| macOS 索诺玛 14.x x86_64/arm64 | self-hosted或macOS |
| macOS 文图拉 13.x x86_64/arm64 | self-hosted或macOS |
setup-php会切换到该版本,否则会安装 PHP 版本。 在所有受支持的操作系统/平台上,可以根据运行程序设置以下 PHP 版本。
| PHP版本 | 稳定 | 发布支持 | 跑步者支持 |
|---|---|---|---|
5.3 | Stable | End of life | GitHub-hosted |
5.4 | Stable | End of life | GitHub-hosted |
5.5 | Stable | End of life | GitHub-hosted |
5.6 | Stable | End of life | GitHub-hosted 、 self-hosted |
7.0 | Stable | End of life | GitHub-hosted 、 self-hosted |
7.1 | Stable | End of life | GitHub-hosted 、 self-hosted |
7.2 | Stable | End of life | GitHub-hosted 、 self-hosted |
7.3 | Stable | End of life | GitHub-hosted 、 self-hosted |
7.4 | Stable | End of life | GitHub-hosted 、 self-hosted |
8.0 | Stable | End of life | GitHub-hosted 、 self-hosted |
8.1 | Stable | Security fixes only | GitHub-hosted 、 self-hosted |
8.2 | Stable | Active | GitHub-hosted 、 self-hosted |
8.3 | Stable | Active | GitHub-hosted 、 self-hosted |
8.4 | Stable | Active | GitHub-hosted 、 self-hosted |
8.5 | Nightly | In development | GitHub-hosted 、 self-hosted |
笔记:
php-version输入中指定8.5会安装PHP 8.5.0-dev的夜间版本。有关详细信息,请参阅夜间构建设置。PHP 8.0及更高版本上使用 JIT,请参阅 JIT 配置部分。 可以使用extensions输入来设置 PHP 扩展。它接受 csv 格式的string 。
Ubuntu上,可以设置以软件包形式提供、在PECL或 git 存储库上提供的扩展。 - name : Setup PHP with PECL extension
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
extensions : imagick, swoole在Windows上,可以设置具有DLL二进制文件的PECL上可用的扩展。
在macOS上,可以设置PECL或 git 存储库上可用的扩展。
在Ubuntu和macOS上,要从 git 存储库编译并安装扩展,请遵循本指南。
如果指定,则启用与 PHP 一起安装的扩展。
PECL上可用的扩展的特定版本可以通过在扩展名称后加上版本来设置。这对于安装支持生命周期结束的 PHP 版本的旧版本扩展非常有用。
- name : Setup PHP with specific version of PECL extension
uses : shivammathur/setup-php@v2
with :
php-version : ' 5.4 '
extensions : swoole-1.9.3PECL上提供预发行版本的扩展可以通过在扩展名称后添加其状态(即alpha 、 beta 、 devel或snapshot来设置。 - name : Setup PHP with pre-release PECL extension
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
extensions : xdebug-beta在Ubuntu和macOS上,要使用库或自定义配置编译和安装来自 PECL 的扩展,请遵循本指南。
可以通过在共享扩展前面添加:来禁用共享扩展。所有依赖于指定扩展的扩展也将被禁用。
- name : Setup PHP and disable opcache
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
extensions : :opcachenone来禁用所有共享扩展。当none与其他扩展一起指定时,它将被提升到输入的开头。因此,所有共享扩展将首先被禁用,然后输入中的其余扩展将被处理。注意:这会禁用所有核心和第三方共享扩展,因此可能会破坏一些需要它们的工具。当尽最大努力设置工具时,将再次启用所需的扩展。因此,建议在extensions输入中的none之后添加工具所需的扩展,以避免出现任何问题。
- name : Setup PHP without any shared extensions except mbstring
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
extensions : none, mbstringintl后缀加上ICU版本,可以在Ubuntu工作流程中为PHP 5.6及更高版本设置特定ICU版本的扩展intl 。支持ICU 50.2及更新版本。请参阅ICU builds以了解支持的特定版本。 - name : Setup PHP with intl
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
extensions : intl-70.1 setup-php运行后默认加载的扩展可以在 wiki 上找到。
这些扩展具有自定义支持:
Ubuntu上的cubrid和pdo_cubrid 。Ubuntu和macOS上的event 、 gearman 、 geos和relay 。blackfire 、 couchbase 、 ioncube 、 oci8 、 pdo_firebird 、 pdo_oci 、 pecl_http 、 phalcon3 、 phalcon4 、 phalcon5和zephir_parser 。默认情况下,无法正常添加或禁用的扩展会在日志中留下错误消息,执行不会中断。要更改此行为,您可以将fail-fast标志设置为true 。
- name : Setup PHP with fail-fast
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
extensions : oci8
env :
fail-fast : true 这些工具可以使用tools输入进行全局设置。它接受 csv 格式的字符串。
behat 、 blackfire 、 blackfire-player 、 box 、 castor 、 churn 、 codeception 、 composer 、 composer-dependency-analyser 、 composer-normalize 、 composer-prefetcher 、 composer-require-checker 、 composer-unused 、 cs2pr 、 deployer 、 ecs 、 flex 、 grpc_php_plugin 、 infection 、 parallel-lint 、 pecl 、 phan 、 phing 、 phinx 、 phive 、 php-config 、 php-cs-fixer 、 php-scoper 、 phpcbf 、 phpcpd 、 phpcs 、 phpdoc或phpDocumentor 、 phpize 、 phplint 、 phpmd 、 phpspec 、 phpstan 、 phpunit 、 phpunit-bridge 、 phpunit-polyfills 、 pint , prestissimo , protoc , psalm , rector , symfony或symfony-cli , vapor或vapor-cli , wp或wp-cli
- name : Setup PHP with tools
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : php-cs-fixer, phpunitvendor/package来全局设置。此格式接受与composer相同的版本约束。 - name : Setup PHP with tools
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : vimeo/psalm要设置工具的特定版本,请以tool:version形式指定它。
版本可以采用以下格式:
tool:1.2.3或tool:1.2.3-beta1 。tool:1或tool:1.x 。tool:1.2或tool:1.2.x 。当您仅指定主要版本或以major.minor格式指定版本时,将设置与输入匹配的最新补丁版本。
除了composer的主要版本之外,如果您仅指定工具的major版本或major.minor格式的版本,您可以获得受GitHub API限制的速率。为了避免这种情况,建议提供GitHub OAuth 令牌。您可以通过设置GITHUB_TOKEN环境变量来做到这一点。 COMPOSER_TOKEN环境变量已被弃用,取而代之的是GITHUB_TOKEN ,并将在下一个主要版本中删除。
- name : Setup PHP with tools
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : php-cs-fixer:3.64, phpunit:11.4
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}composer 。您可以通过指定主要版本v1或v2或major.minor或semver格式的版本来设置所需的composer版本。此外,还可以指定作曲家snapshot和preview来设置各自的版本。 - name : Setup PHP with composer v2
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : composer:v2tools: none来跳过它。 - name : Setup PHP without composer
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : none默认情况下,为 Linux 和 macOS 上所有受支持的 PHP 版本设置工具pear 、 pecl 、 phpize和php-config 。
当在工具输入中指定blackfire时,就会设置最新版本的blackfire cli。有关将blackfire与 GitHub Actions 结合使用的信息,请参阅官方文档。
除非在工具输入中还指定了composer:v1否则将跳过工具prestissimo和composer-prefetcher 。建议放弃prestissimo并使用composer v2 。
默认情况下,除了无法正常设置的composer工具在日志中留下错误消息外,执行不会中断。要更改此行为,您可以将fail-fast标志设置为true 。
- name : Setup PHP with fail-fast
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : deployer
env :
fail-fast : true笔记
tools对于设置仅在 CI 工作流程中使用的工具非常有用,从而使您的composer.json保持整洁。--no-dev运行 Composer 并使用tools输入安装所需的工具,以加快工作流程。COMPOSER_NO_INTERACTION设置为1 , COMPOSER_PROCESS_TIMEOUT设置为0 。实际上,这意味着脚本中的 Composer 命令不需要指定--no-interaction 。COMPOSER_NO_AUDIT设置为1 。因此,如果您想审核依赖项是否存在安全漏洞,建议在安装它们之前添加composer audit步骤。COMPOSER_PROCESS_TIMEOUT ,您可以使用env关键字在工作流程文件中设置它。 - name : Setup PHP with composer and custom process timeout
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
env :
COMPOSER_PROCESS_TIMEOUT : 300 指定coverage: xdebug使用Xdebug并禁用PCOV 。
在所有受支持的 PHP 版本上运行。
- name : Setup PHP with Xdebug
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
coverage : xdebugcoverage: xdebug时,默认设置与PHP 版本兼容的最新版本的Xdebug。coverage: xdebug2 。 - name : Setup PHP with Xdebug 2.x
uses : shivammathur/setup-php@v2
with :
php-version : ' 7.4 '
coverage : xdebug2注意:Xdebug 在 Ubuntu GitHub Actions 映像上默认启用,因此,如果您不在工作流程中使用它,建议禁用它,因为这将对您的 PHP 性能产生积极影响。详细信息请参阅禁用覆盖部分。
指定coverage: pcov使用PCOV并禁用Xdebug 。
在 PHP 7.1 和更高版本的 PHP 上运行。
src 、 lib或app ,请使用ini-values输入指定pcov.directory 。 - name : Setup PHP with PCOV
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
ini-values : pcov.directory=api # optional, see above for usage.
coverage : pcovpcov/clobber 。 - name : Setup PCOV
run : |
composer require pcov/clobber
vendor/bin/pcov clobber指定coverage: none以禁用Xdebug和PCOV 。
由于以下原因禁用承保范围:
phpdbg来运行测试。blackfire分析您的代码。- name : Setup PHP with no coverage driver
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
coverage : none 指定使用
with关键字
php-version (可选)string 。例如'8.4' 。lowest设置以设置支持的最低 PHP 版本。highest或latest设置最新稳定的 PHP 版本。nightly从 PHP 主分支设置夜间构建。dx ,其中d是主要版本。例如5.x 、 7.x和8.x 。php-version-file输入(如果存在)composer.lock文件和platform-overrides.php值composer.json文件和config.platform.php值php-version-file (可选)string 。例如'.phpenv-version' 。.php-version文件。.php-version文件,则设置最新的稳定 PHP 版本。 extensions (可选)string 。例如mbstring, :opcache 。none以禁用所有共享扩展。:为前缀的共享扩展被禁用。ini-file (可选)php.ini文件。production 、 development或none 。php.ini文件。 ini-values (可选)php.ini值。string 。例如post_max_size=256M, max_execution_time=180 。xdebug.mode="develop,coverage" 。 coverage (可选)xdebug 、 pcov或none 。tools (可选)string 。例如: phpunit, phpcsphp-version在 GitHub Actions 上,您可以为setup-php步骤分配一个id ,您可以使用相同的 ID 在后续步骤中获取输出。
- name : Setup PHP
id : setup-php
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
- name : Print PHP version
run : echo ${{ steps.setup-php.outputs.php-version }}使用
env关键字指定
fail-fast (可选)false 。false true phpts (可选)nts表示非线程安全,接受zts或ts表示线程安全。nts 。update (可选)false truefalse 。请参阅下文了解更多信息。
设置特定的 PHP 版本。
steps :
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
extensions : mbstring, intl
ini-values : post_max_size=256M, max_execution_time=180
coverage : xdebug
tools : php-cs-fixer, phpunit在多个操作系统上设置多个 PHP 版本。
jobs :
run :
runs-on : ${{ matrix.operating-system }}
strategy :
matrix :
operating-system : ['ubuntu-latest', 'windows-latest', 'macos-latest']
php-versions : ['8.2', '8.3', '8.4']
phpunit-versions : ['latest']
include :
- operating-system : ' ubuntu-latest '
php-versions : ' 8.1 '
phpunit-versions : 10
steps :
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ${{ matrix.php-versions }}
extensions : mbstring, intl
ini-values : post_max_size=256M, max_execution_time=180
coverage : xdebug
tools : php-cs-fixer, phpunit:${{ matrix.phpunit-versions }}
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}设置
PHP 8.5的夜间构建。
steps :
- name : Setup nightly PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.5 '
extensions : mbstring
ini-values : post_max_size=256M, max_execution_time=180
coverage : xdebug
tools : php-cs-fixer, phpunit使用调试符号设置 PHP 构建。
debug环境变量为 PHP 5.6 及更高版本设置带有调试符号的构建。笔记
/usr/lib/debug/.build-id目录中。这些文件与 PHP 二进制文件的 ELF 部分中的build-id相匹配,并且gdb等调试工具能够解析这些文件中的符号。pdb文件添加到 PHP 安装目录中。 steps :
- name : Setup PHP with debugging symbols
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
env :
debug : true # specify true or false设置
TS或NTSPHP。
NTS版本是默认设置的。 jobs :
run :
runs-on : [ubuntu-latest, windows-latest, macos-latest]
name : Setup PHP TS
steps :
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
env :
phpts : ts # specify ts or nts更新到PHP版本的最新补丁。
ppa:ondrej/php ,则PHP版本会更新到最新补丁版本。update环境变量指定为true以更新到最新版本。 - name : Setup PHP with latest versions
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
env :
update : true # specify true or false调试您的工作流程
要调试任何问题,您可以使用verbose标记而不是v2 。
- name : Setup PHP with logs
uses : shivammathur/setup-php@verbose
with :
php-version : ' 8.4 '在 Ubuntu GitHub Runners 上的多个架构上设置 PHP。
Ubuntu上多种架构上的setup-php支持PHP 5.6到PHP 8.4 。shivammathur/node图像作为容器。它们为setup-php安装了兼容的Nodejs 。ARM的设置,您将需要自托管运行程序。 jobs :
run :
runs-on : ubuntu-latest
container : shivammathur/node:latest-${{ matrix.arch }}
strategy :
matrix :
arch : ["amd64", "i386"]
steps :
- name : Install PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '在自托管运行器上设置 PHP。
要设置容器化自托管运行器,请根据您的基本操作系统参阅以下指南。
要直接在主机操作系统或虚拟机中设置运行程序,请在设置自托管运行程序之前遵循此要求指南。
如果您的工作流程使用服务容器,则在 Linux 主机或 Linux 虚拟机中设置运行器。 GitHub Actions 不支持 Linux 上的嵌套虚拟化,因此服务无法在 Docker 化容器中运行。
对于自托管环境,建议将环境变量runner指定为self-hosted 。
jobs :
run :
runs-on : self-hosted
strategy :
matrix :
php-versions : ['5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4']
name : PHP ${{ matrix.php-versions }}
steps :
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ${{ matrix.php-versions }}
env :
runner : self-hosted笔记
GitHub-hosted运行器使用的self-hosted运行器使用相同的标签。使用
nektos/act在本地测试您的Ubuntu工作流程。
jobs :
run :
runs-on : ubuntu-latest
steps :
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '使用shivammathur/node docker 镜像在act运行工作流程。
选择与工作流程中的runs-on属性相匹配的图像标签。例如,如果您在工作流程中使用ubuntu-20.04 ,请运行act -P ubuntu-20.04=shivammathur/node:2004 。
# For runs-on: ubuntu-latest
act -P ubuntu-latest=shivammathur/node:latest
# For runs-on: ubuntu-24.04
act -P ubuntu-24.04=shivammathur/node:2404
# For runs-on: ubuntu-22.04
act -P ubuntu-22.04=shivammathur/node:2204
# For runs-on: ubuntu-20.04
act -P ubuntu-20.04=shivammathur/node:2004在 PHP 8.0 及更高版本上启用即时 (JIT)。
opcache.enable_cli=1在 cli 模式下启用opcache 。Xdebug 、 PCOV和其他覆盖zend_execute_ex函数的扩展冲突,因此设置coverage: none并禁用任何此类扩展(如果添加)。opcache.jit=1235和opcache.jit_buffer_size=256M ,可以使用ini-values输入进行更改。official PHP documentation 。例如,在缓冲区大小为64 MB的tracing模式下启用 JIT。
- name : Setup PHP with JIT in tracing mode
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
coverage : none
ini-values : opcache.enable_cli=1, opcache.jit=tracing, opcache.jit_buffer_size=64M您可以使用shivammathur/cache-extensions和action/cache GitHub Actions 缓存 PHP 扩展。缓存时需要很长时间才能设置的扩展可在下一次工作流程运行中使用并直接启用。这减少了工作流执行时间。
有关详细信息,请参阅shivammathur/cache-extensions 。
如果您的项目使用 Composer,您可以保留 Composer 的内部缓存目录。缓存的依赖项是直接加载的,而不是在安装时下载它们。缓存的文件在检查运行中可用,并将减少工作流执行时间。
- name : Get composer cache directory
id : composer-cache
run : echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT
- name : Cache dependencies
uses : actions/cache@v4
with :
path : ${{ steps.composer-cache.outputs.dir }}
key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.lock') }}
restore-keys : ${{ runner.os }}-composer-
- name : Install dependencies
run : composer install --prefer-dist笔记
action/cache缓存vendor目录,因为这会产生副作用。composer.lock ,则可以使用composer.json的哈希作为缓存的密钥。 key : ${{ runner.os }}-composer-${{ hashFiles('**/composer.json') }}composer依赖项并使用prefer-lowest和prefer-stable选项,则可以将它们存储在矩阵中并将它们添加到键中。 key : ${{ runner.os }}-composer-${{ matrix.prefer }}-${{ hashFiles('**/composer.lock') }}
restore-keys : ${{ runner.os }}-composer-${{ matrix.prefer }}-如果您有多个工作流程设置了多个工具或具有许多 Composer 依赖项,则可能会达到 GitHub 对 Composer 的速率限制。此外,如果您仅指定主要版本或以major.minor格式指定版本,则可能会达到速率限制。为了避免这种情况,您可以通过设置GITHUB_TOKEN环境变量来指定OAuth令牌。您可以使用GITHUB_TOKEN秘密来实现此目的。
COMPOSER_TOKEN环境变量已被弃用,取而代之的是GITHUB_TOKEN ,并将在下一个主要版本中删除。
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
env :
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}如果您使用 Private Packagist 作为私有 Composer 依赖项,则可以设置PACKAGIST_TOKEN环境变量进行身份验证。
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
env :
PACKAGIST_TOKEN : ${{ secrets.PACKAGIST_TOKEN }}除了 GitHub 或 Private Packagist 之外,如果您想对其他地方托管的私有存储库进行身份验证,您可以使用身份验证方法和 json 格式的凭据设置COMPOSER_AUTH_JSON环境变量。有关更多详细信息,请参阅composer documentation中的身份验证部分。
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
env :
COMPOSER_AUTH_JSON : |
{
"http-basic": {
"example.org": {
"username": "${{ secrets.EXAMPLE_ORG_USERNAME }}",
"password": "${{ secrets.EXAMPLE_ORG_PASSWORD }}"
}
}
}如果您必须在工作流程中运行多行 PHP 代码,您可以轻松做到这一点,而无需将其保存到文件中。
将代码放入步骤的 run 属性中,并将 shell 指定为php {0} 。
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
- name : Run PHP code
shell : php {0}
run : |
<?php
$welcome = "Hello, world";
echo $welcome;问题匹配器是json配置,可识别日志中的错误和警告,并通过突出显示它们并创建代码注释,在 GitHub Actions UI 中突出显示它们。
通过在setup-php步骤之后添加此步骤,为PHP输出设置问题匹配器。
- name : Setup problem matchers for PHP
run : echo "::add-matcher::${{ runner.tool_cache }}/php.json" 通过在setup-php步骤之后添加此步骤,为PHPUnit输出设置问题匹配器。
- name : Setup problem matchers for PHPUnit
run : echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" PHPStan 支持 GitHub Actions 中的错误报告,因此不需要问题匹配器。
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : phpstan
- name : Run PHPStan
run : phpstan analyse src Psalm 支持 GitHub Actions 中的错误报告,输出格式github 。
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : psalm
- name : Run Psalm
run : psalm --output-format=github 对于支持checkstyle报告的工具,如phpstan 、 psalm 、 php-cs-fixer和phpcs您可以使用cs2pr来注释您的代码。
有关示例,请参阅 cs2pr 文档。
这是
phpcs的示例。
- name : Setup PHP
uses : shivammathur/setup-php@v2
with :
php-version : ' 8.4 '
tools : cs2pr, phpcs
- name : Run phpcs
run : phpcs -q --report=checkstyle src | cs2pr将setup-php与各种 PHP 框架和包一起使用的示例。
| 框架/包 | 运行于 | 工作流程 |
|---|---|---|
| 黑火 | macOS 、 ubuntu和windows | 黑火.yml |
| 黑火玩家 | macOS 、 ubuntu和windows | blackfire-player.yml |
CakePHP 与MySQL和Redis | ubuntu | cakephp-mysql.yml |
CakePHP 与PostgreSQL和Redis | ubuntu | cakephp-postgres.yml |
| 没有服务的 CakePHP | macOS 、 ubuntu和windows | cakephp.yml |
| 代码点火器 | macOS 、 ubuntu和windows | 代码点火器.yml |
| 层状MVC | macOS 、 ubuntu和windows | 层流-mvc.yml |
Laravel 与MySQL和Redis | ubuntu | laravel-mysql.yml |
Laravel 与PostgreSQL和Redis | ubuntu | laravel-postgres.yml |
| 没有服务的 Laravel | macOS 、 ubuntu和windows | laravel.yml |
Lumen 与MySQL和Redis | ubuntu | lumen-mysql.yml |
Lumen 与PostgreSQL和Redis | ubuntu | 流明-postgres.yml |
| 无服务的流明 | macOS 、 ubuntu和windows | 流明.yml |
Phalcon 与MySQL | ubuntu | phalcon-mysql.yml |
Phalcon 与PostgreSQL | ubuntu | phalcon-postgres.yml |
| 根/基岩 | ubuntu | 基岩.yml |
| 根/圣人 | ubuntu | 圣人.yml |
| 纤薄的框架 | macOS 、 ubuntu和windows | slim-framework.yml |
Symfony 与MySQL | ubuntu | symfony-mysql.yml |
Symfony 与PostgreSQL | ubuntu | symfony-postgres.yml |
| 没有服务的 Symfony | macOS 、 ubuntu和windows | symfony.yml |
带MySQL的 Yii2 入门套件 | ubuntu | yii2-mysql.yml |
Yii2 入门套件与PostgreSQL | ubuntu | yii2-postgres.yml |
v2标签作为setup-php版本。它是一个滚动标签,并与最新的次要版本和补丁版本同步。使用v2您可以自动获得错误修复、安全补丁、新功能以及对最新 PHP 版本的支持。verbose标签。它输出所有日志并与最新版本同步。main分支作为版本,这可能会在主要版本发布后破坏您的工作流程,因为它们具有重大更改。v1标签或1.xy版本,您应该切换到 v2,因为v1不再受支持。 setup-php的徽标是 php.net 徽标的衍生作品,并根据 CC BY-SA 4.0 许可证获得许可。 欢迎贡献!
setup-php和其他相关项目的贡献者
setup-php的经验。许多用户和组织通过 GitHub 赞助商支持 setup-php。
这些公司慷慨地提供 setup-php 其产品和服务来帮助该项目的开发。