internals:windows:stepbystepbuild_sdk_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Last revisionBoth sides next revision
internals:windows:stepbystepbuild_sdk_2 [2021/08/06 15:23] – note about updating VS; see https://bugs.php.net/81337 cmbinternals:windows:stepbystepbuild_sdk_2 [2021/11/08 14:56] – document Windows phpize builds cmb
Line 137: Line 137:
  
 At this point, your compiled extension will be located in the release directory. At this point, your compiled extension will be located in the release directory.
 +
 +==== Building PECL extensions with phpize ====
 +
 +Alternatively to the "in-tree" build described above, you can do a "phpize" build, what is mostly useful if you don't need to build PHP from source, but rather use a pre-built PHP binary package.
 +
 +  - Download and unpack the development package which corresponds to your pre-built PHP version and variant from https://windows.php.net/
 +  - Download and unpack the source of the PECL extension
 +  - Invoke the starter script to automatically setup the environment for the desired build config, e.g. ''c:\php-sdk\phpsdk-vs16-x64.bat''
 +  - Add the development package folder and the PHP folder to the ''PATH''
 +  - Enter the source folder of the PECL extension
 +  - Run ''phpize''
 +  - Run ''configure --help'' to see the list of configuration options
 +    * the most important option is the one which enables the extension to be built (e.g. ''--enable-apcu'')
 +    * another important options is ''--with-prefix'' which expects the PHP folder to be passed
 +    * if the extension depends on C libraries, you need to download these and put them either in the ''--with-php-build'' folder, or use the ''--with-extra-includes'' and ''--with-extra-libs'' options; suitable pre-built libraries can be found on https://windows.php.net/downloads/php-sdk/deps/ and https://windows.php.net/downloads/pecl/deps/
 +    * there may be further interesting configuration options, e.g. those which allows to configure details of the extension to be built
 +  - Run ''configure'' with the desired options
 +  - Run ''nmake''
 +  - After successful compilation, the build artifacts are located in the release folder
 +  - If the extension has a PHPT test suite, run ''nmake test''
 +
 +If you want to build your extension via Github Actions, consider to use https://github.com/cmb69/setup-php-sdk.
  
 ==== Release directories ==== ==== Release directories ====
internals/windows/stepbystepbuild_sdk_2.txt · Last modified: 2022/01/10 09:43 by cmb