shivammathur/setup-php (shivammathur/setup-php)
Compare Source
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 with 10.5 as the prefix.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.1'
tools: phpunit:10.5.x
- Improved installing
intl extension 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-token input 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_size config on arm environments. (#999)
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
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
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Improved github-token support for GitHub Enterprise. (#981).
For GitHub Enterprise users, the github-token input does not default to the GITHUB_TOKEN secret. Therefore, it's recommended to set the github-token input 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 relay extension 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
setup-php reddit
setup-php twitter
setup-php status
Compare Source
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
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Added support for github-token input. (#969)
It uses the GITHUB_TOKEN secret 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 }}
- Added support for
carthage-software/mago. (#898, #975)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: mago
- Added support for
Roave/BackwardCompatibilityCheck. (#911, #974)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
tools: backward-compatibility-check
- Added support for
shipmonk/name-collision-detector. (#932, #973)
- 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-fast is 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
setup-php reddit
setup-php twitter
setup-php status
Compare Source
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
setup-php reddit
setup-php twitter
setup-php status
Compare Source
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_PLUGINS env.
- 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_DIR env. (#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 runner env is not specified. (#947)
-
Improved locking mechanism while fetching files on self-hosted runners.
-
Dropped support for using dependency files in shivammathur/extension tap.
-
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_helper function on macOS.
-
Fixed the file name of the sources list to match the name used by apt-add-repository. (#953)
-
Fixed installing hiredis on 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
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
- Added support for Arm Ubuntu runners
ubuntu-24.04-arm and ubuntu-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 to ubuntu-22.04 or ubuntu-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
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
env:
TOOLS_DIR: '/tmp/tools'
- 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 blackfire and ionCube extensions for PHP 8.4.
-
Improved support for phalcon and zephir_parser extensions.
-
Improved support for OCI extensions pdo_oci and oci8 on 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
setup-php reddit
setup-php twitter
setup-php status
Compare Source
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-installed in php-version input. (#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-versions file format in php-version-file input. (#883)
If you have an asdf .tool-versions file in your project.
For example, you can specify .tool-versions now in the php-version-file input 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_DIR env value. (#894)
- name: Setup PHP
uses: shivammathur/setup-php@v2
env:
COMPOSER_PROJECT_DIR: php
-
Added support for macos-15 GitHub hosted environment.
-
Added support for windows-2025 GitHub 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
- 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-12 GitHub 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
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Fix installing PECL extensions on Windows with a build version #855
-
Fix cache support for ioncube extension #856
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Added support for a fallback mirror for ondrej/php PPA when launchpad is down (#834).
-
Fixed installing packages on self-hosted environments with existing conf files (#852).
-
Fixed support for oci8 and pdo_oci extensions on ubuntu-24.04.
-
Fixed support for couchbase extension on ubuntu-24.04.
-
Fixed support for ubuntu-24.04 after apt-fast was dropped from the GA images.
-
Fixed support for firebird extension on macos-14
-
Fixed support for blackfire extension on macos-14.
-
Fixed support for relay extension.
-
Fixed support for phalcon extension for PHP 7.4 on Ubuntu.
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Added support for Ubuntu 24.04.
-
Added support for easy-coding-standard in tools (#838)
-
Added support for zephir_parser for PHP 8.3.
-
Fixed installing zts PHP versions on macOS (#847).
-
Fixed installing ev extension (#844).
-
Fixed support for ioncube extension (#840).
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
- Fixed reading extension directory for PHP 8.4 on macOS.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Added support for vld extension (shivammathur/homebrew-extensions#3827).
-
Added support to update brew along with the core tap on macOS to handle breaking changes in core tap formulae.
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Improved updating Homebrew core tap on macOS using a retry logic.
-
Fixed support for phalcon on Windows.
-
Fixed support for OCI extensions for PHP 8.4 on Linux and macOS.
-
Fixed support for sqlsrv and pdo_sqlsrv on PHP 8.0.
-
Fixed type error on Windows in Get-File function.
-
Minified the release file dist/index.js file generated by vercel/ncc.
-
Updated pre-installed PHP versions for GitHub runners in the README.
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
- Added support to set custom composer timeout (#811)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
env:
COMPOSER_PROCESS_TIMEOUT: 300
-
Fixed syncing dependency formulae on macOS. (#823, #825, #824)
-
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
- Added support for 'lowest' and 'highest' aliases to specify PHP versions. #794
- The
lowest alias installs the lowest actively supported version in the PHP project.
- The 'highest' alias is equivalent to the 'latest' alias, so it installs the latest supported stable PHP version.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: lowest # or highest
- Added support for thread-safe builds on macOS. This completes the support for thread-safe builds on all supported platforms.
- name: Setup ZTS PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
env:
phpts: zts
- Updated documentation for support to read the PHP version from
composer.lock and composer.json files.
- If
php-version and php-version-file inputs are not specified, then it can read the php version from platform-overrides.php value in composer.lock or config.platform.php value from composer.json. #800
- name: Checkout
uses: actions/checkout@v4
- name: Setup PHP
uses: shivammathur/setup-php@v2
- Switched to the new
PHPCSStandards/PHP_CodeSniffer repository for builds of phpcs and phpcbf tools. #809
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
tools: phpcs, phpcbf
-
Marked v1 version of the action as completely unsupported, it will receive no updates, please upgrade to v2, if not done already.
-
Fixed installing extensions on Windows for PHP 8.1 by reverting the version bump for minimum stability. #807
-
Fixed building extensions on PHP 8.4 that used backward compatibility headers from ext/standard to use ext/random/php_random.h header.
-
Improved support for phalcon to install the extension when specified without the version number. #796
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: phalcon
-
Updated codeql workflow to use v3 versions of codeql actions. #803
-
Updated docs workflow to use actions/download-artifact@v4 and actions/upload-artifact@v4. #804, #805
-
Updated Node.js dependencies.
Merged Pull Requests
For the complete list of changes, please refer to the Full Changelog
Thanks @dr5hn, @tighten, @ZeekInteractive, @acelaya, and @fulopattila122 for the sponsorship ❤️
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
- Specifying 8.3 in
php-version now installs a stable build of PHP 8.3.
- name: Setup PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
- Specifying
latest in php-version now installs PHP 8.3 as well.
- name: Setup Latest PHP
uses: shivammathur/setup-php@v2
with:
php-version: 'latest'
- Specifying
nightly in php-version now installs PHP 8.4.
- name: Setup Nightly PHP
uses: shivammathur/setup-php@v2
with:
php-version: 'nightly'
- name: Setup PHP with intl
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: intl-74.1
- Added support to specify
zts in phpts environment variable instead of ts to set up thread-safe PHP on Linux and Windows.
- name: Setup PHP 8.3 (ZTS)
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
env:
phpts: zts
- Fixed support for debug builds. (#784)
- name: Setup PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
env:
debug: true
-
Added support for cached builds for PHP 8.3, PHP 8.4, and zts builds of all versions of PHP 5.6 and newer on Ubuntu GitHub Hosted environments. This should reduce the time it takes to set up these PHP versions.
-
Added swoole to the builds cache for GitHub-hosted environments for PHP 7.2 and newer.
- name: Setup PHP 8.3
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: swoole
-
Added PHP 8.3 and PHP 8.4 to the extension lists in the wiki. (#787).
-
PHP 8.0 is now marked as End of life and PHP 8.1 is now marked as Security fixes only in README.
See PHP Support in README.
-
Fixed support for Blackfire extension. The action now disabled Xdebug and pcov extensions by default when blackfire is specified in extensions input.
- name: Setup PHP with blackfire extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: blackfire
- Fixed support for
grpc_php_plugin when installed along with protoc on macOS.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
tools: protoc, grpc_php_plugin
- Fixed support for
geos extension on PHP 8.3.
- name: Setup PHP with geos extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: geos
- Fixed support for
event extension on macOS to use openssl@3 formula.
- name: Setup PHP with geos extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: event
- Update Node.js dependencies.
Merged Pull Requests
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
-
Fixed updating PHP dependencies after formulae in homebrew/core tap have been sharded into directories with prefixes. (#780)
-
Update actions/setup-node from v3 to v4 in the node workflow.
-
Update Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
- Tools
box and php-scoper can now be installed easily using the tools input. (#776)
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: box, php-scoper
-
Added support for macOS 14.x Sonoma and dropped support for macOS 11.x Big Sur following a three-year support cycle that Apple follows for macOS.
-
We now set keepAlive in https agent to false in fetch.ts. After Node 19 it is set to true by default. This prevented the node process from exiting until timeout after the action run was completed. (#773, #777) - Ref
-
Fixed support for couchbase extension for PHP 7.4.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
extensions: couchbase
-
Fixed a warning when find was run without checking if the path exists on macOS.
-
Fixed checking for existing PHP installations on macOS on self-hosted environments.
-
Fixed adding tools in case /usr/local/bin directory was missing on self-hosted environments.
-
Bumped Node.js dependencies.
Merged Pull Requests
New Contributors
Full Changelog
For the complete list of changes, please refer to the Full Changelog: 2.26.0...2.27.0.
Thanks @tillkruss for the sponsorship ❤️
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Compare Source
Changelog
Microsoft SQL Server extensions. (#758, #766)
The latest supported version of sqlsrv and pdo_sqlsrv for the PHP version will be installed.
Also, on Windows, these extensions will be installed from microsoft/msphpsql GitHub releases and will fallback to pecl.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
extensions: sqlsrv, pdo_sqlsrv
PHP 8.4 Support (#762)
Added support for PHP 8.4.0-dev from the master branch of php/php-src for all supported OS.
Note: PHP 8.3.0-dev is now built from the new PHP-8.3 branch.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.4'
Fixes
Blackfire Player
Resolved issues affecting the blackfire-player on Linux and macOS. It now installs the uuid extension that is required for the tool.
Dropped support for it on Windows as uuid extension is not available for the OS.
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
tools: blackfire-player
Updates
Update actions/checkout
Updated the use of actions/checkout to v4 in the documentation and workflows.
- name: Checkout
uses: actions/checkout@v4
Update Node.js Version
Note: Node.js 16 reached End-of-Life on 2023年09月11日 (Ref).
Updated action.yml to use the node20 binary. If you use setup-php on a self-hosted runner, please make sure it is v2.308.0 or newer to use this release or the major version tag v2.
Node.js Dependencies
Bumped Node.js dependencies.
Merged Pull Requests
New Contributors
Full Changelog
For the complete list of changes, please refer to the Full Changelog: 2.25.5...2.26.0.
Follow for updates
setup-php reddit
setup-php twitter
setup-php status
Uh oh!
There was an error while loading. Please reload this page.
This PR contains the following updates:
2.25.5->2.35.5Release Notes
shivammathur/setup-php (shivammathur/setup-php)
v2.35.5Compare Source
Changelog
For example, this should install the latest release of PHPUnit with
10.5as the prefix.intlextension with a particular ICU versions.github-tokeninput value to avoid rate limits.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
setup-php reddit setup-php twitter setup-php statusv2.35.4Compare Source
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
setup-php reddit setup-php twitter setup-php statusv2.35.3Compare Source
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).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
setup-php reddit setup-php twitter setup-php statusv2.35.2Compare Source
Changelog
auth.json. (#980)For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.35.1Compare Source
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
setup-php reddit setup-php twitter setup-php statusv2.35.0Compare Source
Changelog
Added support for
github-tokeninput. (#969)It uses the
GITHUB_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.
carthage-software/mago. (#898, #975)Roave/BackwardCompatibilityCheck. (#911, #974)shipmonk/name-collision-detector. (#932, #973)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
setup-php reddit setup-php twitter setup-php statusv2.34.1Compare Source
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
setup-php reddit setup-php twitter setup-php statusv2.34.0Compare Source
Changelog
COMPOSER_ALLOW_PLUGINSenv.Added fallback for fetching the manifest for PHP versions. (#952)
Added support to specify tools directory using
SETUP_PHP_TOOLS_DIRenv. (#943, #945)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.Thanks @alcaeus, @JMoodyFWD, and @cmb69 for the contributions 🎉
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.33.0Compare Source
Changelog
ubuntu-24.04-armandubuntu-22.04-arm. (#848)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)
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)Fixed cache support for
openswoole. (#917, shivammathur/cache-extensions#47)Fixed the version of
composer-normalizein the logs. (#899)Added support for
blackfireandionCubeextensions for PHP 8.4.Improved support for
phalconandzephir_parserextensions.Improved support for OCI extensions
pdo_ociandoci8on self-hosted runners. (#929)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.
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
setup-php reddit setup-php twitter setup-php statusv2.32.0Compare Source
Changelog
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.
.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.COMPOSER_PROJECT_DIRenv value. (#894)Added support for
macos-15GitHub hosted environment.Added support for
windows-2025GitHub hosted environment.Added support for composer-dependency-analyser tool (#859, #897)
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)
macos-12GitHub hosted environments.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
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.31.1Compare Source
Changelog
Fix installing PECL extensions on Windows with a build version #855
Fix cache support for ioncube extension #856
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.31.0Compare Source
Changelog
Added support for a fallback mirror for
ondrej/phpPPA when launchpad is down (#834).Fixed installing packages on self-hosted environments with existing conf files (#852).
Fixed support for
oci8andpdo_ociextensions onubuntu-24.04.Fixed support for
couchbaseextension onubuntu-24.04.Fixed support for
ubuntu-24.04afterapt-fastwas dropped from the GA images.Fixed support for
firebirdextension onmacos-14Fixed support for
blackfireextension onmacos-14.Fixed support for
relayextension.Fixed support for
phalconextension for PHP 7.4 on Ubuntu.Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.30.5Compare Source
Changelog
Added support for Ubuntu 24.04.
Added support for
easy-coding-standardin tools (#838)Added support for zephir_parser for PHP 8.3.
Fixed installing zts PHP versions on macOS (#847).
Fixed installing
evextension (#844).Fixed support for
ioncubeextension (#840).Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.30.4Compare Source
Changelog
Fixed support for
sqlsrvandpro_sqlsrvon Windows (https://redirect.github.com/shivammathur/setup-php/discussions/835).Fixed a permissions issue for brew on
macos-14environments.Marked PHP 5.3 to PHP 5.5 as not supported on ARM64 macOS environments like
macos-14.For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.30.3Compare Source
Changelog
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.30.2Compare Source
Changelog
Added support for vld extension (shivammathur/homebrew-extensions#3827).
Added support to update brew along with the core tap on macOS to handle breaking changes in core tap formulae.
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.30.1Compare Source
Changelog
Improved updating Homebrew core tap on macOS using a retry logic.
Fixed support for phalcon on Windows.
Fixed support for OCI extensions for PHP 8.4 on Linux and macOS.
Fixed support for
sqlsrvandpdo_sqlsrvon PHP 8.0.Fixed type error on Windows in
Get-Filefunction.Minified the release file
dist/index.jsfile generated byvercel/ncc.Updated pre-installed PHP versions for GitHub runners in the README.
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.30.0Compare Source
Changelog
Fixed syncing dependency formulae on macOS. (#823, #825, #824)
Updated Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.29.0Compare Source
Changelog
lowestalias installs the lowest actively supported version in the PHP project.composer.lockandcomposer.jsonfiles.php-versionandphp-version-fileinputs are not specified, then it can read the php version fromplatform-overrides.phpvalue in composer.lock orconfig.platform.phpvalue fromcomposer.json. #800PHPCSStandards/PHP_CodeSnifferrepository for builds ofphpcsandphpcbftools. #809Marked
v1version of the action as completely unsupported, it will receive no updates, please upgrade tov2, if not done already.Fixed installing extensions on Windows for PHP 8.1 by reverting the version bump for minimum stability. #807
Fixed building extensions on PHP 8.4 that used backward compatibility headers from
ext/standardto useext/random/php_random.hheader.Improved support for
phalconto install the extension when specified without the version number. #796Updated codeql workflow to use
v3versions of codeql actions. #803Updated docs workflow to use
actions/download-artifact@v4andactions/upload-artifact@v4. #804, #805Updated Node.js dependencies.
Merged Pull Requests
For the complete list of changes, please refer to the Full Changelog
Thanks @dr5hn, @tighten, @ZeekInteractive, @acelaya, and @fulopattila122 for the sponsorship ❤️
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.28.0Compare Source
Changelog
php-versionnow installs a stable build of PHP 8.3.latestinphp-versionnow installs PHP 8.3 as well.nightlyinphp-versionnow installs PHP 8.4.intlextension with ICU 74.1 (shivammathur/icu-intl#7)ztsinphptsenvironment variable instead oftsto set up thread-safe PHP on Linux and Windows.Added support for cached builds for PHP 8.3, PHP 8.4, and zts builds of all versions of PHP 5.6 and newer on Ubuntu GitHub Hosted environments. This should reduce the time it takes to set up these PHP versions.
Added
swooleto the builds cache for GitHub-hosted environments for PHP 7.2 and newer.Added PHP 8.3 and PHP 8.4 to the extension lists in the wiki. (#787).
PHP 8.0 is now marked as
End of lifeand PHP 8.1 is now marked asSecurity fixes onlyin README.See PHP Support in README.
Fixed support for Blackfire extension. The action now disabled
Xdebugandpcovextensions by default whenblackfireis specified inextensionsinput.grpc_php_pluginwhen installed along withprotocon macOS.geosextension on PHP 8.3.eventextension on macOS to useopenssl@3formula.Merged Pull Requests
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.27.1Compare Source
Changelog
Fixed updating PHP dependencies after formulae in homebrew/core tap have been sharded into directories with prefixes. (#780)
Update
actions/setup-nodefromv3tov4in the node workflow.Update Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.27.0Compare Source
Changelog
boxandphp-scopercan now be installed easily using thetoolsinput. (#776)Added support for macOS 14.x Sonoma and dropped support for macOS 11.x Big Sur following a three-year support cycle that Apple follows for macOS.
We now set
keepAliveinhttpsagent tofalseinfetch.ts. After Node 19 it is set totrueby default. This prevented the node process from exiting until timeout after the action run was completed. (#773, #777) - RefFixed support for
couchbaseextension for PHP 7.4.Fixed a warning when
findwas run without checking if the path exists on macOS.Fixed checking for existing PHP installations on macOS on self-hosted environments.
Fixed adding tools in case
/usr/local/bindirectory was missing on self-hosted environments.Bumped Node.js dependencies.
Merged Pull Requests
New Contributors
Full Changelog
For the complete list of changes, please refer to the Full Changelog: 2.26.0...2.27.0.
Thanks @tillkruss for the sponsorship ❤️
Follow for updates
setup-php reddit setup-php twitter setup-php statusv2.26.0Compare Source
Changelog
Microsoft SQL Server extensions. (#758, #766)
The latest supported version of
sqlsrvandpdo_sqlsrvfor the PHP version will be installed.Also, on Windows, these extensions will be installed from
microsoft/msphpsqlGitHub releases and will fallback topecl.PHP 8.4 Support (#762)
Added support for PHP
8.4.0-devfrom the master branch ofphp/php-srcfor all supported OS.Note: PHP
8.3.0-devis now built from the newPHP-8.3branch.Fixes
Blackfire Player
Resolved issues affecting the
blackfire-playeron Linux and macOS. It now installs theuuidextension that is required for the tool.Dropped support for it on Windows as
uuidextension is not available for the OS.Updates
Update actions/checkout
Updated the use of
actions/checkoutto v4 in the documentation and workflows.Update Node.js Version
Note: Node.js 16 reached End-of-Life on 2023年09月11日 (Ref).
Updated
action.ymlto use thenode20binary. If you usesetup-phpon a self-hosted runner, please make sure it is v2.308.0 or newer to use this release or the major version tagv2.Node.js Dependencies
Bumped Node.js dependencies.
Merged Pull Requests
New Contributors
Full Changelog
For the complete list of changes, please refer to the Full Changelog: 2.25.5...2.26.0.
Follow for updates
setup-php reddit setup-php twitter setup-php statusConfiguration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.