GitHub action to set up PHP with extensions, php.ini configuration, coverage drivers, and various tools.
Added support for vld extension (https://github.com/shivammathur/homebrew-extensions/issues/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
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
- 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
lowest
alias installs the lowest actively supported version in the PHP project.- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: lowest # or highest
- name: Setup ZTS PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
env:
phpts: zts
composer.lock
and composer.json
files.
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
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.
For the complete list of changes, please refer to the Full Changelog
Thanks @dr5hn, @tighten, @ZeekInteractive, @acelaya, and @fulopattila122 for the sponsorship ❤️
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'
latest
in php-version
now installs PHP 8.3 as well.- name: Setup Latest PHP
uses: shivammathur/setup-php@v2
with:
php-version: 'latest'
nightly
in php-version
now installs PHP 8.4.- name: Setup Nightly PHP
uses: shivammathur/setup-php@v2
with:
php-version: 'nightly'
intl
extension with ICU 74.1 (https://github.com/shivammathur/icu-intl/pull/7)- name: Setup PHP with intl
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: intl-74.1
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
- 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
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
geos
extension on PHP 8.3.- name: Setup PHP with geos extension
uses: shivammathur/setup-php@v2
with:
php-version: '8.3'
extensions: geos
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
For the complete list of changes, please refer to the Full 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
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.
For the complete list of changes, please refer to the Full Changelog: 2.26.0...2.27.0.
Thanks @tillkruss for the sponsorship ❤️
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
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'
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
Updated the use of actions/checkout
to v4 in the documentation and workflows.
- name: Checkout
uses: actions/checkout@v4
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
.
Bumped Node.js dependencies.
For the complete list of changes, please refer to the Full Changelog: 2.25.5...2.26.0.
castor
in tools input. #746- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: '8.2'
tools: castor
Fixed support for self-hosted Debian 12 environments.
Fixed support for self-hosted environments using DEB822-STYLE .sources files.
Fixed re-enabling opcache extension on macOS. #749
Updated Node.js dependencies.
Full Changelog: https://github.com/shivammathur/setup-php/compare/2.25.4...2.25.5
Fixed regression in 2.25.3 in PHPUnit installation by specifying major
or major.minor
version in the tools
input. #743
Fixed fs
import in utls.test.ts
.
Updated Node.js dependencies.
Full Changelog: https://github.com/shivammathur/setup-php/compare/2.25.3...2.25.4