Releases: shivammathur/setup-php
2.35.5
Changelog
- Added support for macOS 26 based environments.
runs-on: macos-26
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2- Fixed resolving tools' releases to the latest one for a version prefix in tools input. (#1000)
For example, this should install the latest release of PHPUnit with10.5as the prefix.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
tools: phpunit:10.5.x- Improved installing
intlextension with a particular ICU versions.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: intl-77.1- Fixed tools setup to use the new
github-tokeninput value to avoid rate limits.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: phpcs: 4
github-token: ${{ secrets.GITHUB_TOKEN }}-
Improved errors when tools fail to install. (#991)
-
Fixed warning in get function on request failure.
-
Added a fallback source for composer phar archives. (#956)
-
Added a fallback source for PPA keys. (#996)
-
Fixed
opcache.jit_buffer_sizeconfig on arm environments. (#999) -
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.4
Changelog
-
Fixed updating brew core tap before installing PHP on macOS.
-
Updated actions in internal workflows.
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.3
Changelog
-
Improved
github-tokensupport for GitHub Enterprise. (#981).For GitHub Enterprise users, the
github-tokeninput does not default to theGITHUB_TOKENsecret. Therefore, it's recommended to set thegithub-tokeninput to a Personal Access Token (PAT).
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
github-token: ${{ secrets.YOUR_PAT_TOKEN }}-
Fixed support for
relayextension for PHP 7.4 on macOS. -
Updated internal workflows to not run on forks. (#982)
-
Updated Node.js dependencies.
Thanks @jrfnl for the contributions 🎉
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.2
Changelog
- Fixed race condition in updating composer
auth.json. (#980)
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.1
Changelog
-
Fixed regression in composer authentication in
2.35.0. (#979) -
Fixed installing
geosextension on PHP 8.5.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.35.0
Changelog
-
Added support for
github-tokeninput. (#969)
It uses theGITHUB_TOKENsecret by default and should prevent any rate limiting issues while installing your composer dependencies or while adding any tools supported by setup-php.Also, it can used to specify a personal access token (PAT) to authenticate with GitHub if you need that for your composer dependencies.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
github-token: ${{ secrets.PAT }}- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: mago- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: backward-compatibility-check- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: name-collision-detector-
Fixed fallback behavior on adding a specific version of extension when
fail-fastis set to true. (#972) -
Fixed enabling extensions on Windows. (#978)
-
Fixed installing gearman extension on PHP 8.5.
-
Cleaned up the cubrid extension script.
-
Removed ondrej/pkg-gearman ppa in gearman extension setup.
-
Switched to ppa.setup-php.com for ondrej/php ppa fallback mirror.
-
Update default composer version in README. (#966)
-
Fixed a broken link in README. (#967)
-
Updated Node.js dependencies.
Thanks @jrfnl and @OskarStark for the contributions 🎉
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.34.1
Changelog
-
Fixed tool-cache directory on self-hosted runners.
-
Fixed generating lock path in unix.sh on verbose branch.
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.34.0
Changelog
- Added support for pie. (#948)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: pie- Added support to allow composer plugins by specifying the list of plugins in
COMPOSER_ALLOW_PLUGINSenv.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
COMPOSER_ALLOW_PLUGINS: composer/installers, composer/satis-
Added fallback for fetching the manifest for PHP versions. (#952)
-
Added support to specify tools directory using
SETUP_PHP_TOOLS_DIRenv. (#943, #945)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
SETUP_PHP_TOOLS_DIR: /tmp/tools-
Improved detecting linux self-hosted runners if
runnerenv is not specified. (#947) -
Improved locking mechanism while fetching files on self-hosted runners.
-
Dropped support for using dependency files in
shivammathur/extensiontap. -
Fixed errors on macOS regarding missing taps.
-
Fixed logic to fail on first error in extension setup from source. (#951)
-
Fixed error about missing
self_hosted_helperfunction on macOS. -
Fixed the file name of the sources list to match the name used by
apt-add-repository. (#953) -
Fixed installing
hiredison macOS during relay setup.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: relay- Updated Node.js dependencies.
Thanks @alcaeus, @JMoodyFWD, and @cmb69 for the contributions 🎉
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.33.0
Changelog
- Added support for Arm Ubuntu runners
ubuntu-24.04-armandubuntu-22.04-arm. (#848)
jobs:
run:
runs-on: ubuntu-24.04-arm # or ubuntu-22.04-arm
steps:
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'-
Dropped support for Ubuntu 20.04 (
ubuntu-20.04) for both GitHub hosted and self-hosted runners. Please migrate your workflows toubuntu-22.04orubuntu-24.04. (#939)
Ref: https://github.com/shivammathur/setup-php#github-hosted-runners -
Improved support for installing PHPUnit around new releases. Now setup-php will fallback to the previous release till new release is available on the phpunit.de website after it is tagged. (#913, #938)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: phpunit-
Switched to using https://ppa.launchpadcontent.net for launchpad PPAs instead of http://ppa.launchpad.net. (#927, #928)
-
Added a fallback to calling launchpad's API for getting PPA signatures to reduce reported failures on self-hosted runners. (#935)
-
Added support for specifying tools' directory using
TOOLS_DIRenv. (#937)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
TOOLS_DIR: '/tmp/tools'-
Fixed cache support for
openswoole. (#917, shivammathur/cache-extensions#47) -
Fixed the version of
composer-normalizein the logs. (#899)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: composer-normalize- Updated the repository for PHP-CS-Fixer. (#900)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: php-cs-fixer-
Added support for
blackfireandionCubeextensions for PHP 8.4. -
Improved support for
phalconandzephir_parserextensions. -
Improved support for OCI extensions
pdo_ociandoci8on self-hosted runners. (#929)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: pdo_oci, oci8-
Improved locking mechanism while fetching files on self-hosted runners. (#912)
-
Fixed a warning on macOS while patching extensions.
-
Fixed linking hiredis library during relay setup.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: relay- Updated Node.js dependencies.
Thanks @deguif, @DanielEScherzer, @voodooism, @hms5232, and @jg-development for the contributions 🎉
Thanks @complex-gmbh and @WorkOfStan for the sponsorship ❤️
For the complete list of changes, please refer to the Full Changelog
Follow for updates
2.32.0
Changelog
- Added support for PHP 8.4 as the default stable PHP version.
- name: Setup PHP
uses: shivammathur/setup-php@v2- Added support for PHP 8.5 as the nightly version. (#867)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.5'- Added support for
pre-installedinphp-versioninput. (#872)
It will setup the pre-installed PHP version on the runner as per the docs here
https://github.com/shivammathur/setup-php?tab=readme-ov-file#github-hosted-runners. If the runner does not have a pre-installed PHP version, it will fail.
Please note: It is not recommended to use this unless you are doing something trivial, the pre-installed PHP versions on GitHub hosted runners are old patch versions.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: pre-installed- Added support for
.tool-versionsfile format inphp-version-fileinput. (#883)
If you have an asdf .tool-versions file in your project.
For example, you can specify.tool-versionsnow in thephp-version-fileinput and the action would setup the correct PHP version.
ruby 3.4
php 8.4
nodejs 23.5- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version-file: .tool-versions- Added support for to specify the path for composer file in the project to read the PHP version using
COMPOSER_PROJECT_DIRenv value. (#894)
- name: Setup PHP
uses: shivammathur/setup-php@v2
env:
COMPOSER_PROJECT_DIR: php -
Added support for
macos-15GitHub hosted environment. -
Added support for
windows-2025GitHub hosted environment. -
Added support for composer-dependency-analyser tool (#859, #897)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: composer-dependency-analyser- Added support for relay extension for PHP 8.4 and 8.5. (#892)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: relay-
Added information on how an extension is loaded in the wiki extension lists. (#887)
https://github.com/shivammathur/setup-php/wiki -
Fixed support for debug builds. (#880)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
debug: true - Fixed support for zts buids on self-hosted runners.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
phpts: ts- Fixed support for oci extensions for PHP 8.4 and PHP 8.5.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: pdo_oci, oci8- Fixed support for zephir_parser extension.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: zephir_parser- Fixed support for couchbase extension on old PHP versions.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.1'
extensions: couchbase- Fixed support for pdo_firebird extension on macos-15.
# runs-on: macos-15
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
extensions: pdo_firebird- Improved support to install tools in a multi-user self-hosted environment.
- Dropped support for
macos-12GitHub hosted environments. - Dropped support for Debian 10 based self-hosted environments.
- Update Node.js dependencies.
Thanks @janedbal, @alexmerlin and @tillkruss for the contributions 🎉
Thanks @desrosj, @bloodynumen and @eliashaeussler for the sponsorship ❤️
For the complete list of changes, please refer to the Full Changelog