« その他の変更
PHP 8.3.x から PHP 8.4.x への移行 »

Windows のサポート

Core

PHP_VERSION, PHP_MINOR_VERSION, PHP_RELEASE_VERSION の設定値は、常に数値になりました。 これより前のバージョンでは、buildconf を使ったビルドでは文字列でした。

phpize ビルドは、 ソースツリーを build dir 内に反映するようになりました (in-tree ビルドでは、これまでも同様でした)。 拡張モジュールによっては、 (特に Makefile.frag.w32 を使う場合) 調整が必要かもしれません。

MSVC ビルド向けに、 --enable-sanitizer がサポートされるようになりました。 これによって、ASan とデバッグ用のアサーションが有効になります。 このオプションは MSVC 16.10 と Windows 10 以降でサポートされます。

clang ビルド向けの --with-uncritical-warn-choke 設定オプションは、サポートされなくなりました。 代わりに、抑制したい警告を CFLAGS 経由で選択してください。

COM

この拡張モジュールは、 デフォルトで共有ライブラリとしてビルドされるようになりました。 これより前のバージョンでは、 デフォルトで static な拡張モジュールとしてビルドされていましたが、 公式の Windows 用バイナリでは、この拡張モジュールが共有ライブラリとしてビルドされていました。

FFI

FFI::cdef() と FFI::load() を使う際に、 ライブラリを指定する必要はなくなりました。 しかし実運用環境では、この便利機能を使うべきではありません。

Streams

read 配列に含まれるのがパイプストリームのみで、 かつ write と except 配列が空の場合、 stream_select() は、 POSIX システムと似た振る舞いをするようになりました。 つまり、少なくとも1つのパイプが読み取り可能になった場合、 またはタイムアウトした後にのみ、関数から戻ります。 これより前のバージョンでは、stream_select() は直ちに返り、 すべてのストリームが読み取り可能であると報告していました。

関連キーワード:
ビルド   サポート   Windows   拡張   ライブラリ   移行   共有   パイプ   ストリーム   stream   Core   数値   buildconf   phpize   ソース   ツリー   build   反映   tree   Makefile   frag   調整   enable   sanitizer   ASan
関連する関数・ページ:
migration82.windows-support   wincache.win32build   ffi.installation   install.windows.building   wincache.win32build.verify   wincache.win32build.prereq