その他の変更PHP コア
iterable 型は、コンパイル時に組み込みで
arrayTraversable のエイリアスと見なされるようになりました。
よって、
送信される Cookie の日付フォーマットが SAPI モジュールへの変更CLISTDOUT, STDERR, STDIN ストリームは、リソースが破棄される時にクローズされなくなりました。 これらのクローズは、ほとんどの場合 CLI が終了する際に行われます。 しかし、fclose や類似の関数を使うことで、これらのストリームを明示的に閉じることはできます。 変更された関数PHP コア
バイナリセーフな文字列比較を行う
strcmp, strcasecmp,
strncmp, strncasecmp,
substr_compare は、
比較対象の文字列の長さが等しくないときに DBAdba_open と dba_popen は、以下のシグネチャを強制するようになりました:
resourcefalse dba_open(
string $path ,string $mode ,stringnull $handler = null ,int $permission = 0644,int $map_size = 0,intnull $flags = null ) dba_fetch のオプションの skip 引数は、 PHP でユーザーが使える関数のセマンティクスに従い、最後に置かれるようになりました。 シグネチャは以下になります: stringfalse dba_fetch(stringarray
オーバーロードされたシグネチャは下記のとおりです:
$key , resource $handle , int $skip )stringfalse dba_fetch(stringarray
上記は、引き続き許可されていますが、新しい標準的なシグネチャを使うことを推奨します。
$key , int $skip , resource $handle )Randomrandom_bytes と random_int は、CSPRNG が失敗した場合に \Random\RandomException をスローするようになりました。 これより前のバージョンでは、\Exception がスローされていました。 Standard PHP Library(SPL)
iterator_to_array と iterator_count
の 拡張モジュールへのその他の変更DateDatePeriod のプロパティが、適切に宣言されるようになりました。 国際化関数IntlBreakIterator, IntlRuleBasedBreakIterator, IntlCodePointBreakIterator, IntlPartsIterator, IntlCalendar, Collator, IntlIterator, UConverter, IntlDateFormatter, IntlDatePatternGenerator, MessageFormatter, ResourceBundle, Spoofchecker, IntlTimeZone, Transliterator のインスタンスは、シリアライズできなくなりました。 これより前のバージョンでは、シリアライズはできていましたが、 アンシリアライズした際に役に立たないオブジェクトを生成したり、失敗したりしていました。 MySQLilibmysql のサポートが削除されました。 よって、libmysql を使って mysqli をビルドすることはもはやできません。 このバージョンからは、 mysqli 拡張モジュールは mysqlnd を使った場合にのみコンパイルできます。 以下に示す、mysqlnd で利用できない、libmysql のすべての機能が削除されました:
OCI8必須となる Oracle Client library の最低バージョンが、11.2 になりました。 PCRE
パターン文字列中の NUL 文字 ( Sessionセッションがアクティブだったり、出力が既に送信された後に session.cookie_samesite を変更しようとすると、変更が失敗するとともに、警告が発生するようになりました。 この変更は、他のセッション関連の INI 設定の振る舞いに合わせたものです。 SQLite3
sqlite3.defensive の変更可能範囲が、 標準ライブラリgetimagesize は、AVIF 画像の ビット数、チャンネル情報、幅と高さの情報(dimensions) を返すようになりました。 これより前のバージョンでは、幅と高さの情報は 0x0 として報告され、ビット数とチャンネル情報は全く報告されていませんでした。 Tidytidy クラスのプロパティが、適切に宣言されるようになりました。 tidyNode のプロパティも、readonly として適切に宣言されるようになりました。 ZipZip 拡張モジュールは、1.20.0 にアップデートされました。 以下のメソッドが追加されています:
INI ファイルの扱いの変更
INI ファイルに数値を設定する際、
2進数のプレフィックス ( 設定項目によっては、不正な値をパースした場合に警告が発生するようになりました。 これより前のバージョンでは、静かに無視されていました。 後方互換を保つため、値を解釈する方法は変更されていません。 影響を受ける設定は、以下のとおりです:
|