mirror of
https://github.com/php-win-ext/setup-php-sdk.git
synced 2026-03-25 17:42:18 +01:00
64 lines
1.8 KiB
Markdown
64 lines
1.8 KiB
Markdown
# Setup PHP-SDK Action
|
|
|
|
[Github Action](https://github.com/features/actions) to set up an environment
|
|
for building and testing PHP extensions on Windows.
|
|
|
|
## Example Usage
|
|
|
|
````.yml
|
|
- id: setup-php-sdk
|
|
uses: php/setup-php-sdk@v0.8
|
|
with:
|
|
version: 8.0
|
|
arch: x64
|
|
ts: nts
|
|
- uses: ilammy/msvc-dev-cmd@v1
|
|
with:
|
|
arch: x64
|
|
toolset: ${{steps.setup-php-sdk.outputs.toolset}}
|
|
- run: phpize
|
|
- run: configure --enable-dbase --with-prefix=${{steps.setup-php-sdk.outputs.prefix}}
|
|
- run: nmake
|
|
- run: nmake test TESTS=tests
|
|
````
|
|
|
|
## Inputs
|
|
|
|
- `version`: the PHP version to build for
|
|
(`7.0`, `7.1`, `7.2`, `7.3`, `7.4`, `8.0`, `8.1`, `8.2` or `8.3`)
|
|
- `arch`: the architecture to build for (`x64` or `x86`)
|
|
- `ts`: thread-safety (`nts` or `ts`)
|
|
- `deps`: dependency libraries to install; for now, only
|
|
[core dependencies](https://windows.php.net/downloads/php-sdk/deps/) are available
|
|
|
|
Note that for PHP versions 7.2 and below, `runs-on: windows-2022` will not work
|
|
as the correct toolset is not available. For these versions, you should use
|
|
`runs-on: windows-2019`. For example:
|
|
|
|
```yml
|
|
strategy:
|
|
matrix:
|
|
os: [ windows-2019, windows-2022 ]
|
|
php: [ "8.1", "8.0", "7.4", "7.3", "7.2", "7.1" ]
|
|
arch: [ x64, x86 ]
|
|
ts: [ ts, nts ]
|
|
exclude:
|
|
- { os: windows-2019, php: "8.1" }
|
|
- { os: windows-2019, php: "8.0" }
|
|
- { os: windows-2019, php: "7.4" }
|
|
- { os: windows-2019, php: "7.3" }
|
|
- { os: windows-2022, php: "7.2" }
|
|
- { os: windows-2022, php: "7.1" }
|
|
```
|
|
|
|
Currently, `windows-2019` may be used for all PHP versions, although this may
|
|
change in future releases.
|
|
|
|
## Outputs
|
|
|
|
- `toolset`: the required toolset version;
|
|
needs to be passed to the ilammy/msvc-dev-cmd action
|
|
- `prefix`: the prefix of the PHP installation;
|
|
needs to be passed to configure
|
|
- `vs`: the Visual Studio version
|