This site is dedicated to supporting PHP on Microsoft Windows. It also supports ports of PHP extensions or features as well as providing special builds for the various Windows architectures.
If you like to build your own PHP binaries, instructions can be found on the Wiki.
PECL extensions for Windows is being worked on.
Windows DLL can be downloaded right from the PECL website.
The PECL extension
release and
snapshot build directories are browsable
directly.
If you are using PHP as FastCGI with IIS you should use the Non-Thread Safe (NTS) versions of PHP.
Please use the Apache builds provided by Apache Lounge. They provide VC15 and VS16 builds of Apache for x86 and x64. We use their binaries to build the Apache SAPIs.
With Apache, using the apache2handler SAPI, you have to use the Thread Safe (TS) versions of PHP.
More recent versions of PHP are built with VC15 or VS16 (Visual Studio 2017 or 2019 compiler respectively) and include improvements in performance and stability.
- The VC15 and VS16 builds require to have the Visual C++ Redistributable for Visual Studio 2015-2019 x64 or x86 installed
TS refers to multithread capable builds. NTS refers to single thread only builds. Use case for TS binaries involves interaction with a multithreaded SAPI and PHP loaded as a module into a web server. For NTS binaries the widespread use case is interaction with a web server through the FastCGI protocol, utilizing no multithreading (but also for example CLI).
Profile Guided Optimization is an optimization feature available in Microsoft's Visual C++ compiler that allows you to optimize an output file based on profiling data collected during test runs of the application or module.
Links:
PHP 7 provides full 64-bit support. The x64 builds of PHP 7 support native 64-bit integers, LFS, 64-bit memory_limit and much more.
PHP 7.1+ supports long and UTF-8 paths. See the manual for details.
As of PHP 7.4.0, the OpenSSL default config path changes from c:\usr\local\ssl\openssl.cnf to C:\Program Files\Common Files\SSL\openssl.conf for x64 builds, and C:\Program Files (x86)\Common Files\SSL\openssl.conf for x86 builds. These paths match the defaults of OpenSSL 1.1, and are more inline with the Windows folder structure than the old settings. Note that this path is still configurable via the environment variable OPENSSL_CONF. See also the installation section in the PHP manual.
We used Visual Studio 2019 to build the early releases of PHP 7.4 (up to and including 7.4.0beta2). And although Visual Studio 2019 is generally an improvement over Visual Studio 2017, due to compatibility issues we have decided to switch back to Visual Studio 2017 for our PHP 7.4 builds, and we are planning to stick with this for the complete lifetime of PHP 7.4.
Note that it is still possible to use Apache VS16 builds from Apachelounge in combination with PHP 7.4, since VS 2019 is forward compatible with VS 2017.
Our master snapshots are still built with Visual Studio 2019, and we are planning to stick with Visual Studio 2019 for PHP 8.0.
All binary packages we were offering contained "vc#" (for instance, "vc14") in the filename to designate the Visual Studio version which has been used to build them. This number ("#") has tradionally been the major number of the respective platform toolset. The preview releases of Visual Studio 2017 shipped with platform toolset 15.00, so we used "vc15" to mark the files. The first GA release of Visual Studio 2017, however, shipped with platform toolset 14.10 (to signal the backward compatibility), but the internal Visual Studio version number stayed 15.00. To avoid confusion with already distributed packages, we stuck with the "vc15" marker. For our Visual Studio 2019 builds (PHP 7.4 and master) we finally changed from "vc#" to "vs#" (note the "s"), where the number now designates the major internal Visual Studio version number. We are planning to stick with this new naming scheme for the foreseeable future.
The recent release candidates 7.2.14RC1 and 7.3.1RC1 use the latest OpenSSL 1.1.1 release branch. Please help testing these release candidates with the regard to the OpenSSL compatibility and report bugs. This concerns the OpenSSL extension itself as well as the extensions depending on OpenSSL like cURL.
Thanks to "Let's Encrypt", the site now uses SSL by default. All the non SSL links are transparently redirected to the SSL locations.
WinXP users might experience connection issues. It is a high time to switch away from WinXP to some more recent OS version.
In addition to the usual regular snapshots, the current master builds deliver binaries with AVX (Advanced Vector Extensions) support. AVX is an instruction set available in many modern CPUs. The internal PHP implementation uses these specific CPU instructions to improve performance.
Processors, manufactured after 2011, most likely support AVX. The exact information about the hardware can be retrieved by using the Coreinfo tool.
Help us to test these new flavours, any feedback appreciated!
The OpenSSL Security Advisory [19 Mar 2015] announces the availability of the OpenSSL 0.9.8zf and 1.0.1m which fix twelve security vulnerabilities. The latest PHP releases 5.4.39, 5.5.23 and 5.6.7 already contain the updated OpenSSL library. All PHP users are strongly encouraged to upgrade to the corresponding patch versions.
Alternatively, the updated OpenSSL dependency DLLs can be downloaded separately as replacement for the older PHP and Apache versions.
The OpenSSL Security Advisory [07 Apr 2014] announces the availability of the OpenSSL 1.0.1g which fixes CVE-2014-0160. In this regard the latest PHP release 5.5.11 was rebuilt with the OpenSSL 1.0.1g. All PHP users are strongly encouraged to upgrade to PHP 5.5.11. If you already have downloaded this version before 10-Apr-2014, please redownload. The existing private keys should be regenerated as soon as possible.
Alternatively, the updated OpenSSL dependency DLLs can be downloaded separately as replacement for the older PHP versions. Though be aware that this issue affects only OpenSSL 1.0.x and the DLL packages are only applicable to PHP 5.5 and upper.
PHP 5.4 and lower is not affected by this issue.
The PHP development team is proud to announce the immediate availability of PHP 5.5.0. This release includes a large number of new features and bug fixes.
The key features of PHP 5.5.0 include:
Changes that affect compatibility:
For users upgrading from PHP 5.4, a migration guide is available detailing the changes between 5.4 and 5.5.0.
For a full list of changes in PHP 5.5.0, see the ChangeLog.
The PHP development team is proud to announce the immediate availability of PHP 5.4.0. This release is a major leap forward in the 5.x series, which includes a large number of new features and bug fixes.
The key features of PHP 5.4.0 include:
Changes that affect compatibility:
Extensions moved to PECL:
PHP 5.4 series will be the last versions to support Windows XP and Windows 2003. We will not provide binary packages for these Windows versions anymore after PHP 5.4.
For users upgrading from PHP 5.3 there is a migration guide available here, detailing the changes between those releases and PHP 5.4.0.
For a full list of changes in PHP 5.4.0, see the ChangeLog.