internals:windows:stepbystepbuild_sdk_2
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
internals:windows:stepbystepbuild_sdk_2 [2017/09/22 13:28] – external edit 127.0.0.1 | internals:windows:stepbystepbuild_sdk_2 [2019/06/04 11:33] – Update wrt. VS16 (Visual Studio 2019) cmb | ||
---|---|---|---|
Line 17: | Line 17: | ||
* Visual C++ 14.0 (Visual Studio 2015) for **PHP 7.0** or **PHP 7.1**. | * Visual C++ 14.0 (Visual Studio 2015) for **PHP 7.0** or **PHP 7.1**. | ||
- | * Visual C++ 15.0 (Visual Studio 2017) for **PHP 7.2** | + | * Visual C++ 15.0 (Visual Studio 2017) for **PHP 7.2** or **PHP 7.3**. |
+ | * Visual C++ 16.0 (Visual Studio 2019) for **PHP 7.4**. | ||
==== Setup ==== | ==== Setup ==== | ||
- | * Fetch the latest stable SDK tag from https:// | + | * Fetch the latest stable SDK tag from https:// |
* The new PHP SDK is required, when building PHP 7.2+ | * The new PHP SDK is required, when building PHP 7.2+ | ||
* Read the PHP SDK specific notes on the Github repository page | * Read the PHP SDK specific notes on the Github repository page | ||
Line 28: | Line 29: | ||
* If compiling **PHP 7.2+**: | * If compiling **PHP 7.2+**: | ||
* Install Visual Studio 2017 | * Install Visual Studio 2017 | ||
+ | * If compiling **PHP 7.4+**: | ||
+ | * Install Visual Studio 2019 | ||
* Optional tools | * Optional tools | ||
Line 36: | Line 39: | ||
==== Command prompt ==== | ==== Command prompt ==== | ||
- | The PHP SDK 2.0.0+ provides starter scripts, that automaticaly | + | The PHP SDK 2.0.0+ provides starter scripts, that automatically |
* PHP_SDK_ARCH - the target build architecture used for environment setup | * PHP_SDK_ARCH - the target build architecture used for environment setup | ||
* PHP_SDK_OS_ARCH - the operating system architecture | * PHP_SDK_OS_ARCH - the operating system architecture | ||
* PHP_SDK_PHP_CMD - integrated PHP binary wrapper script | * PHP_SDK_PHP_CMD - integrated PHP binary wrapper script | ||
- | * PHP_SDK_ROOT_PATH - the path to the PHP SDK rood directory | + | * PHP_SDK_ROOT_PATH - the path to the PHP SDK root directory |
- | * PHP_SDK_VC | + | * PHP_SDK_VS |
* several other less relevant vars are available, that can be viewed by the '' | * several other less relevant vars are available, that can be viewed by the '' | ||
The full list of the tools included with the PHP SDK can be found on the repository readme page. | The full list of the tools included with the PHP SDK can be found on the repository readme page. | ||
- | Each version of Visual Studio (or Windows SDK) provides a command prompt environment for compiling (available from the Start Menu group). It is usable, for example, if you want to ommit the starter scripts usage or want to test a pre release Visual Studio version. | + | Each version of Visual Studio (or Windows SDK) provides a command prompt environment for compiling (available from the Start Menu group). It is usable, for example, if you want to omit the starter scripts usage or want to test a pre release Visual Studio version. |
* If compiling **PHP 7.0+** open either the **" | * If compiling **PHP 7.0+** open either the **" | ||
Line 59: | Line 62: | ||
* clone the [[http:// | * clone the [[http:// | ||
- Get the binary tools: | - Get the binary tools: | ||
- | * available from [[https:// | + | * available from [[https:// |
* either fetch a tag as zip, or clone the git repository and checkout the tag | * either fetch a tag as zip, or clone the git repository and checkout the tag | ||
- Get the libraries on which PHP depends: | - Get the libraries on which PHP depends: | ||
Line 77: | Line 80: | ||
- Run the '' | - Run the '' | ||
- The '' | - The '' | ||
- | - Extract the PHP source code to '' | + | - Extract the PHP source code to '' |
- | * '' | + | * '' |
* '' | * '' | ||
* For example: '' | * For example: '' | ||
- In the same directory where you extracted the PHP source there is a '' | - In the same directory where you extracted the PHP source there is a '' | ||
* switch into the php source directory and run '' | * switch into the php source directory and run '' | ||
- | * If you downloaded the dependencies manually in the perevious | + | * If you downloaded the dependencies manually in the previous |
===== Compile ===== | ===== Compile ===== | ||
Line 96: | Line 99: | ||
- To build PHP, run: <code bash> | - To build PHP, run: <code bash> | ||
- If you want the resulting PHP builds and extensions to be zipped, after ' | - If you want the resulting PHP builds and extensions to be zipped, after ' | ||
- | - The compiled PHP is now under " | + | - The compiled PHP is now under " |
- | * If you compiled with " | + | * If you compiled with " |
==== Recompile after you have done some changes ==== | ==== Recompile after you have done some changes ==== | ||
Line 132: | Line 135: | ||
- For possible PHP SDK issues, please consult the PHP SDK readme | - For possible PHP SDK issues, please consult the PHP SDK readme | ||
+ | - As of PHP 7.3 the switch --enable-native-intrinsics is available. The resulting binary will then require a processor with the corresponding feature set available. For example, if you set --enable-native-intrinsics=avx2, | ||
internals/windows/stepbystepbuild_sdk_2.txt · Last modified: 2022/01/10 09:43 by cmb