# 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