Windows Support
Core
The configuration variables PHP_VERSION,
PHP_MINOR_VERSION, and
PHP_RELEASE_VERSION are now always numbers.
Previously, they have been strings for buildconf builds.
phpize builds now reflect the source tree in the
build dir (as it already worked for in-tree builds); some extension
builds (especially when using Makefile.frag.w32) may need adjustments.
--enable-sanitizer is now supported
for MSVC builds. This enables ASan and debug assertions, and is supported
as of MSVC 16.10 and Windows 10.
The --with-uncritical-warn-choke
configuration option for clang builds is no longer supported.
Select warnings to suppress via CFLAGS instead.
COM
The extension is now build shared by default; previously it defaulted to a
static extension, although the official Windows binaries built a shared
extension.
FFI
It is no longer necessary to specify the library when using
FFI::cdef() and FFI::load().
However, this convenience feature should not be used in production.
Streams
If only pipe streams are contained in the read
array, and the write and
except arrays are empty,
stream_select() now behaves similar to POSIX systems,
i.e. the function only returns if at least one pipe is ready to be read,
or after the timeout expires.
Previously, stream_select() returned immediately,
reporting all streams as ready to read.