<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/migration85.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'migration85.windows-support.php',
    1 => 'Windows のサポート',
    2 => 'Windows のサポート',
  ),
  'up' => 
  array (
    0 => 'migration85.php',
    1 => 'PHP 8.4.x から PHP 8.5.x への移行',
  ),
  'prev' => 
  array (
    0 => 'migration85.other-changes.php',
    1 => 'その他の変更',
  ),
  'next' => 
  array (
    0 => 'migration84.php',
    1 => 'PHP 8.3.x から PHP 8.4.x への移行',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'appendices/migration85/windows-support.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="migration85.windows-support" class="sect1">
 <h2 class="title">Windows のサポート</h2>

 <div class="sect2" id="migration85.windows-support.core">
  <h3 class="title">Core</h3>

  <p class="simpara">
   <strong><code><a href="reserved.constants.php#constant.php-version">PHP_VERSION</a></code></strong>,
   <strong><code><a href="reserved.constants.php#constant.php-minor-version">PHP_MINOR_VERSION</a></code></strong>,
   <strong><code><a href="reserved.constants.php#constant.php-release-version">PHP_RELEASE_VERSION</a></code></strong> の設定値は、常に数値になりました。
   これより前のバージョンでは、buildconf のビルド設定用の文字列でした。
  </p>

  <p class="simpara">
   <strong class="command">phpize</strong> ビルドは、
   (in-tree ビルドで既に動作していたかのように)
   build dir 内のソースツリーを反映するようになりました。
   拡張モジュールによっては、
   (特に Makefile.frag.w32 を使う場合)
   調整が必要かもしれません。
  </p>

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

  <p class="simpara">
   clang ビルド向けの
   <strong class="option configure">--with-uncritical-warn-choke</strong>
   設定オプションは、サポートされなくなりました。
   CFLAGS 経由で警告を抑制してください。
  </p>

 </div>

 <div class="sect2" id="migration85.windows-support.com">
  <h3 class="title">COM</h3>

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

 </div>

 <div class="sect2" id="migration85.windows-support.ffi">
  <h3 class="title">FFI</h3>

  <p class="simpara">
   <span class="methodname"><a href="ffi.cdef.php" class="methodname">FFI::cdef()</a></span> と
   <span class="methodname"><a href="ffi.load.php" class="methodname">FFI::load()</a></span> を使う際に、
   ライブラリを指定する必要はなくなりました。
   しかし実運用環境では、この便利機能を使うべきではありません。
  </p>

 </div>

 <div class="sect2" id="migration85.windows-support.streams">
  <h3 class="title">Streams</h3>

  <p class="simpara">
   パイプストリームが <code class="parameter">$read</code>
   配列のみに存在し、かつ <code class="parameter">$write</code> と
   <code class="parameter">$except</code> 配列が空の場合、
   <span class="function"><a href="function.stream-select.php" class="function">stream_select()</a></span> は、
   POSIX システムと似た振る舞いをするようになりました。
   つまり、少なくとも1つのパイプが読み取り可能になった場合、
   またはタイムアウトした後にのみ、関数から戻ります。
   これより前のバージョンでは、この関数は直ちに返り、
   すべてのストリームが読み取り可能であると報告していました。
  </p>

 </div>

</div><?php manual_footer($setup); ?>