変更履歴
標準添付の拡張モジュールには次のような変更がありました。
Version | Function | Description |
---|---|---|
8.4.0 | DOMDocument::registerNodeClass | DOMDocument::registerNodeClass メソッドは、 現在暫定的に true を返すようになりました。 |
DOMImplementation::createDocument | この関数の仮の戻り値の型が、DOMDocument になりました。 | |
bcpow | Negative powers of 0 previously returned 0, but now throw a DivisionByZeroError exception. | |
bind_textdomain_codeset | domain が空の string である場合、 ValueError をスローするようになりました。 | |
curl_multi_select | timeout が 0 未満または PHP_INT_MAX を超える場合、ValueError をスローするようになりました。 | |
dba_close | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_delete | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_exists | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_fetch | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_firstkey | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_insert | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_key_split | key に null または false を渡すことは、非推奨となりました。 | |
dba_nextkey | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_open | Dba\Connection インスタンスを返すようになりました。 これより前のバージョンでは、リソース を返していました。 | |
dba_optimize | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_popen | Dba\Connection インスタンスを返すようになりました。 これより前のバージョンでは、リソース を返していました。 | |
dba_replace | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dba_sync | dba は Dba\Connection クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、 dba リソース を期待していました。 | |
dgettext | domain が空の string である場合、 ValueError をスローするようになりました。 | |
dngettext | domain が空の string である場合、 ValueError をスローするようになりました。 | |
exit | exit は言語構造から正式な関数になったので、 通常の 型の相互変換 に従い、 strict_types 宣言も適用されるようになりました。また、名前付き引数や 可変関数 によって呼び出すこともできるようになりました。 | |
flush | FastCGI 利用時に、本文なしでヘッダをフラッシュできるようになりました。 | |
highlight_string | 戻り値の型が、stringbool から stringtrue に変更されました。 | |
imageavif | quality または、speed が不正の場合、 ValueError をスローするようになりました。 | |
imagefilter | IMG_FILTER_SCATTER filter で sub または plus がオーバーフローやアンダーフローを引き起こす場合、 ValueError をスローするようになりました。 | |
imagejpeg | quality が不正の場合、 ValueError をスローするようになりました。 | |
imagepng | quality が不正の場合、 ValueError をスローするようになりました。 | |
imagescale | width または height がオーバーフローやアンダーフローを引き起こす場合でも、 ValueError をスローするようになりました。 | |
imagescale | mode が不正の場合、 ValueError をスローするようになりました。 | |
imagewebp | quality が不正の場合、 ValueError をスローするようになりました。 | |
lcg_value | この関数は非推奨となりました。 | |
libxml_set_streams_context | libxml_set_streams_context は、 context に非ストリームリソースが渡された場合、 コンテキストが実際に使用されたときではなく、その場で TypeError をスローするようになりました。 | |
long2ip | 戻り値の型が、stringfalse から string に変更されました。 | |
pow | 基数が 0 の場合に、 exponent を負数とするのは非推奨となりました。 | |
print_r | 戻り値の型が、stringbool から stringtrue に変更されました。 | |
simplexml_import_dom | この関数は、非XMLまたは非HTMLのnodeが渡された場合、 ValueError ではなく TypeError をスローするようになりました。 | |
socket_create_listen | デフォルトの値は SOMAXCONN に設定されています。 以前のバージョンでは 128 でした。 | |
strcspn | PHP 8.4.0 より前のバージョンでは、 characters が空の文字列の場合、 string 内の最初の null バイトで探索が誤って停止してしまうことがありました。 | |
stream_context_set_option | 2 引数のシグネチャは非推奨となりました。 代わりに stream_context_set_options を使用してください。 | |
textdomain | domain が空の string である場合、 ValueError をスローするようになりました。 | |
trigger_error | error_level として E_USER_ERROR を指定するのは非推奨となりました。 かわりに、Exception をスローするか、 exit を呼び出してください。 | |
trigger_error | 戻り値の型が、bool ではなく true に変更されました。 | |
xml_parser_set_option | XML_OPTION_PARSE_HUGE が追加されました。 | |
xml_set_character_data_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_character_data_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_default_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_default_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_element_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_element_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_end_namespace_decl_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_end_namespace_decl_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_external_entity_ref_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_external_entity_ref_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_notation_decl_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_notation_decl_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_object | この関数は非推奨になりました。 代わりに、xml_set_ 関数に適切な callable を渡してください。 | |
xml_set_processing_instruction_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_processing_instruction_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_start_namespace_decl_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_start_namespace_decl_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
xml_set_unparsed_entity_decl_handler | 非 callable な string を handler に渡すことは、現在非推奨となっています。 メソッドには適切な callable を使用するか、ハンドラをリセットする場合は null を使用してください。 | |
xml_set_unparsed_entity_decl_handler | handler が callable として有効であるかどうかは、 呼び出し時ではなく、ハンドラーを設定する際にチェックされるようになりました。 | |
mysqli::kill | mysqli::kill と mysqli_kill は非推奨となりました。代わりに KILL SQL コマンドを使用してください。 | |
mysqli::ping | mysqli::ping と mysqli_ping は非推奨となりました。 reconnect 機能は PHP 8.2.0 で廃止されたため、この関数はもはや必要ありません。 | |
mysqli::refresh | mysqli::refresh と mysqli_refresh は非推奨となりました。代わりに FLUSH SQL コマンドを使用してください。 | |
mysqli::store_result | mode パラメータの指定は非推奨となりました。 PHP 8.1 以降では、このパラメータを指定しても意味はありません。 | |
tidy::__construct | コンストラクタの実行に失敗した場合、使用できないオブジェクトを黙って作るのではなく、例外をスローするようになりました。 | |
XMLReader::open | 無効な encoding を指定すると、 ValueError がスローされるようになりました。 | |
XMLReader::XML | 無効な encoding を指定すると、 ValueError がスローされるようになりました。 | |
XMLWriter::startDocument | encoding に null バイトを含む値を指定すると、 ValueError がスローされるようになりました。 | |
XSLTProcessor::setParameter | 引数のいずれかにヌルバイトが含まれている場合、ValueError例外が発生するようになりました。 | |
XSLTProcessor::setParameter | パラメータの値に、シングルクォートとダブルクォートを同時に含められるようになりました。 PHP 8.4.0 より前のバージョンでは、警告が発生していました。 | |
8.3.0 | DateInterval::__construct | Exception の代わりに、 DateMalformedIntervalStringException がスローされるようになりました。 |
DatePeriod::__construct | Exception ではなく、 DateMalformedPeriodStringException がスローされるようになりました。 | |
DateTime::__construct | 無効な文字列が渡された場合、 Exception ではなく DateMalformedStringException がスローされるようになりました。 | |
DateTimeInterface::getTimestamp | 範囲外の例外が DateRangeError になりました。 | |
DateTime::modify | 無効な文字列が渡された場合、DateTime::modify については警告を発生させるのではなく DateMalformedStringException がスローされるようになりました。 date_modify は変更されていません。 | |
DateTime::sub | サポートされていない操作を試みた場合に、警告を発生させるのではなく、 DateInvalidOperationException がスローされるようになりました。 date_sub は変更されていません。 | |
DateTimeImmutable::__construct | 無効な文字列が渡された場合、 Exception ではなく DateMalformedStringException がスローされるようになりました。 | |
DateTimeImmutable::modify | 不正な文字列が渡された場合に、警告を発生させるのではなく、 DateMalformedStringException がスローされるようになりました。 | |
DateTimeImmutable::sub | サポートされていない操作を試みた場合に、警告を発生させるのではなく、 DateInvalidOperationException がスローされるようになりました。 | |
DateTimeZone::__construct | 無効な値を指定した場合、 一般的な Exception ではなく、DateInvalidTimeZoneException がスローされるようになりました。 | |
DOMCharacterData::after | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMCharacterData::after | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMCharacterData::appendData | この関数の仮の戻り値の型が、true になりました。 | |
DOMCharacterData::before | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMCharacterData::replaceWith | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMChildNode::after | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMChildNode::after | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMChildNode::before | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMChildNode::replaceWith | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMDocument::append | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMDocument::createAttributeNS | prefix を指定せずにこのメソッドをコールしても、デフォルトの名前空間を仮定する代わりに prefix を選ぶようになりました。これより前のバージョンでは、prefix なしの属性を作成し、誤ってオーナーとなる要素の名前空間を適用していました。なぜなら、デフォルトの名前空間は属性には適用されないためです。 | |
DOMDocument::createAttributeNS | オーナーとなる要素で prefix が既に異なる namespace URI で使われている場合にこのメソッドを呼び出しても、名前空間の衝突を避けるために新しく prefix を異なるものに変更するようになりました。これは DOM の仕様が要求する振る舞いに合わせるためです。これより前のバージョンでは、エラーコード DOM_NAMESPACE_ERR を持つ DOMException をスローしていました。 | |
DOMDocument::load | この関数の仮の戻り値の型が、bool になりました。 | |
DOMDocument::loadHTML | この関数の仮の戻り値の型が、bool になりました。 | |
DOMDocument::loadHTMLFile | この関数の仮の戻り値の型が、bool になりました。+ | |
DOMDocument::loadXML | この関数の仮の戻り値の型が、bool になりました。 | |
DOMDocument::prepend | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMDocument::replaceChildren | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMDocument::saveXML | LIBXML_NOXMLDECL がサポートされました。 | |
DOMDocumentFragment::append | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMDocumentFragment::prepend | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMDocumentFragment::replaceChildren | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMElement::after | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMElement::after | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMElement::append | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMElement::before | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMElement::prepend | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMElement::replaceChildren | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMElement::replaceWith | 親がないノードに対して、 このメソッドをコールしても何もしなくなりました。 これは DOM の仕様が要求する振る舞いに合わせるためです。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMParentNode::append | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMParentNode::prepend | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
DOMParentNode::replaceChildren | オーナーとなるドキュメントがないノードに対して、 このメソッドをコールしても動作するようになりました。 これより前のバージョンでは、エラーコード DOM_HIERARCHY_REQUEST_ERR を持つ DOMException がスローされていました。 | |
FFI::cast | Calling FFI::cast statically is now deprecated. | |
FFI::cdef | C functions returning void return a PHP null instead of FFI\CType::TYPE_VOID. | |
FFI::load | FFI::load is now allowed in preload scripts when the current system user is the same as the one defined in the opcache.preload_user configuration directive. | |
FFI::new | Calling FFI::new statically is now deprecated. | |
FFI::type | Calling FFI::type statically is now deprecated. | |
array_pad | PHP 8.3 より前のバージョンでは、 一度に 1048576 個の要素しか追加できませんでした。 このバージョンからは、制限は配列の最大サイズのみになりました。 | |
array_product | array の値が整数や浮動小数点数に変換できない場合、 E_WARNING が発生するようになりました。 これより前のバージョンでは、 配列とオブジェクトが渡されても無視され、 それ以外の値は整数に変換されていました。 さらに、数値へのキャストが定義されているオブジェクト (例: GMP) は無視されるのではなく、 数値にキャストされるようになりました。 | |
array_sum | array の値が整数や浮動小数点数に変換できない場合、 E_WARNING が発生するようになりました。 これより前のバージョンでは、 配列とオブジェクトが渡されても無視され、 それ以外の値は整数に変換されていました。 さらに、数値へのキャストが定義されているオブジェクト (例: GMP) は無視されるのではなく、 数値にキャストされるようになりました。 | |
assert | すべての assert. INI 設定は、推奨されなくなりました。 | |
assert_options | assert_option は、推奨されなくなりました。 | |
class_alias | class_alias は、内部クラスのエイリアスを作る機能をサポートしました。 | |
curl_getinfo | CURLINFO_CAINFO と CURLINFO_CAPATH が追加されました。 | |
dba_fetch | dba を第3引数に渡して dba_fetch をコールすることは、推奨されなくなりました。 | |
easter_date | 64ビットのシステムでは、 year の値として 1970 から 2,000,000,000 までの値を受け入れるようになりました。 | |
gc_status | gc_status は、 以下の追加のフィールドを返すようになりました: "running", "protected", "full", "buffer_size", "application_time", "collector_time", "destructor_time", and "free_time". | |
get_class | get_class を引数なしでコールすると、 E_DEPRECATED が発生するようになりました。 これより前のバージョンでは、クラスの内部でこの関数をコールすると、 そのクラスの名前を返していました。 | |
get_parent_class | get_parent_class を引数なしでコールすると、 E_DEPRECATED が発生するようになりました。 これより前のバージョンでは、クラスの内部でこの関数をコールすると、 そのクラスの名前を返していました。 | |
highlight_file | 結果のHTMLが変更されました。 | |
highlight_string | 結果のHTMLが変更されました。 | |
imagerotate | 使われていなかった ignore_transparent が、完全に削除されました。 | |
ldap_connect | ldap_connect に、 hostname と port を別々に渡してコールすることは、推奨されなくなりました。 | |
mb_convert_case | ギリシャ文字のシグマ向けに、条件付きのケースルールが実装されました。 これは MB_CASE_LOWER と MB_CASE_TITLE にのみ適用されます。 MB_CASE_LOWER_SIMPLE と MB_CASE_TITLE_SIMPLE には適用されません。 | |
mb_decode_mimeheader | アンダースコアは RFC 2047 に定められた通り、スペースに変換されるようになりました。 | |
mb_encode_mimeheader | NUL (0) バイトは、 Quoted-Printable エンコーディングを用いた場合でも削除されなくなりました。 代わりに、=00 でエンコードされます。 | |
mb_strimwidth | mb_strimwidth に負の width を渡すことは、推奨されなくなりました。 | |
mb_strtolower | ギリシャ文字のシグマ向けに、条件付きのケースルールが実装されました。 | |
mt_srand | seed は、nullable になりました。 | |
odbc_autocommit | enable は、nullable になりました。 | |
pg_convert | フィールドの値や型が PostgreSQL の型と一致しない場合、 ValueError または TypeError がスローされるようになりました。 これより前のバージョンでは、 E_WARNING が発生していました。 | |
pg_fetch_object | constructor_args が空ではないのに、 クラスにコンストラクタが存在しない場合、 ValueError がスローされるようになりました。 これより前のバージョンでは、Exception がスローされていました。 | |
pg_fetch_result | row は、nullable になりました。 | |
pg_field_is_null | row は、nullable になりました。 | |
pg_field_prtlen | row は、nullable になりました。 | |
pg_insert | 指定されたテーブルが無効な場合、 ValueError がスローされるようになりました。 これより前のバージョンでは、E_WARNING が発生していました。 | |
pg_insert | 値やフィールドの型が PostgreSQL の型と一致しない場合、 ValueError または TypeError がスローされるようになりました。 これより前のバージョンでは、E_WARNING が発生していました。 | |
pg_trace | trace_mode が追加されました。 | |
posix_eaccess | ファイルの実効ユーザー/グループを調べるようになりました。 実ユーザー/グループを調べる posix_access とは異なります。 | |
posix_getrlimit | オプションの resource が追加されました。 | |
posix_isatty | 通常の PHP の型変換のセマンティクスに従い、 整数を変換した場合に、型のエラーに関する E_WARNING が発生するようになりました。 | |
posix_ttyname | 通常の PHP の型変換のセマンティクスに従い、 整数を変換した場合に、型のエラーに関する E_WARNING が発生するようになりました。 | |
posix_ttyname | file_descriptor が無効な整数値の場合に、 E_WARNING が発生するようになりました。 | |
range | start と end が両方文字列の場合、range は常にバイト列を要素とした配列を生成するようになりました。 これより前のバージョンでは、境界の値のうちのひとつが数値形式の文字列の場合に、もう一方の境界の値を整数にキャストしていました。 | |
range | start または end が 暗黙のうちに整数にキャストされた文字列の場合、 E_WARNING が発生するようになりました。 なぜなら、他の境界の入力値が数値だからです。 | |
range | start または end が数値形式の文字列でなく、かつ長さが1バイトより大きい値の場合、 E_WARNING が発生するようになりました。 | |
range | start または end が空文字列の場合、E_WARNING が発生するようになりました。 | |
range | step が 端数のない float の場合、整数として解釈されるようになりました。 | |
range | step が負の値なのに、生成される範囲が増えている場合、 ValueError がスローされるようになりました。 | |
range | step が有限の値でない場合、 ValueError がスローされるようになりました。 | |
range | start または end が配列、object、resource の場合、 TypeError がスローされるようになりました。 これより前のバージョンでは、これらの値は暗黙のうちに整数にキャストされていました。 | |
srand | seed は、nullable になりました。 | |
strrchr | before_needle が追加されました。 | |
strtok | token が渡されない場合、E_WARNING が発生するようになりました。 | |
unserialize | 渡された文字列が復元できない場合、 E_WARNING が発生するようになりました。 これより前のバージョンでは、E_NOTICE が発生していました。 | |
xml_parser_get_option | この関数は、boolean のオプションを返すようになりました。 | |
xml_parser_set_option | value パラメータは、 boolean の値を受け入れるようになりました。 XML_OPTION_CASE_FOLDING と XML_OPTION_SKIP_WHITE が boolean の値を受け入れるようになっています。 | |
IntlBreakIterator::setText | この関数は、失敗時に false を返すようになりました。 これより前のバージョンでは null を返していました。 | |
IntlChar::enumCharNames | この関数は、失敗時に false を返すようになりました。 これより前のバージョンでは null を返していました。 | |
IntlDateFormatter::setTimeZone | この関数は、true を返すようになりました。 これより前のバージョンでは、null を返していました。 | |
mysqli_result::fetch_object | constructor_args が空でないのに、 そのクラスがコンストラクタを持たない場合、 ValueError がスローされるようになりました。 これより前のバージョンでは、 Exception がスローされていました。 | |
mysqli::poll | read と error を両方渡さなかった場合には、 ValueError がスローされるようになりました。 | |
Phar::setStub | resource と length を渡して Phar::setStub をコールすることは、 推奨されなくなりました。 $phar->setStub(stream_get_contents($resource)); に置き換えるべきです。 | |
ReflectionClass::getStaticProperties | ReflectionClass::getStaticProperties の戻り値の型が、?array から array に変更されました。 | |
ReflectionProperty::setValue | このメソッドにひとつだけ引数を渡してコールすることは、推奨されなくなりました。static プロパティを変更する場合は、代わりに ReflectionClass::setStaticPropertyValue を使ってください。 | |
SQLite3::enableExceptions | enable を false にして SQLite3::enableExceptions をコールすると、E_DEPRECATED が発生するようになりました。 | |
ZipArchive::addFile | ZipArchive::FL_OPEN_FILE_NOW が追加されました。 | |
ZipArchive::addFile | ZipArchive::LENGTH_TO_END と ZipArchive::LENGTH_UNCHECKED が追加されました。 | |
ZipArchive::addGlob | ZipArchive::FL_OPEN_FILE_NOW が追加されました。 | |
ZipArchive::replaceFile | ZipArchive::FL_OPEN_FILE_NOW が追加されました。 | |
ZipArchive::replaceFile | ZipArchive::LENGTH_TO_END と ZipArchive::LENGTH_UNCHECKED が追加されました。 | |
8.2.9 | DateTimeImmutable::createFromFormat | (空白) 文字は、 新たに NBSP(U+A0) と NNBSP(U+202F) をサポートするようになりました。 |
8.2.1 | SplFileObject::__toString | SplFileObject::fgets のエイリアスから、 SplFileObject::current の実装に変わりました。 この実装は、 SplFileObject::READ_CSV フラグを設定すると、 CSV の文字列を返します。 |
8.2.0 | ArrayIterator::asort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 |
ArrayIterator::ksort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayIterator::natcasesort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayIterator::natsort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayIterator::uasort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayIterator::uksort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayObject::asort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayObject::ksort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayObject::natcasesort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayObject::natsort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayObject::uasort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ArrayObject::uksort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
DateInterval::__construct | アクセス可能なプロパティは y から f, invert, days だけになりました。 新しい boolean プロパティ from_string もアクセス可能です。 | |
DateInterval::createFromDateString | このメソッドを使って DateInterval を作った場合、 アクセス可能なプロパティは from_string と date_string だけになりました。 | |
DatePeriod::__construct | 定数 DatePeriod::INCLUDE_END_DATE が追加されました。 | |
DateTime::createFromFormat | datetime に NULLバイトが含まれている場合は、 ValueError がスローされるようになりました。 これより前のバージョンでは、こうした値は静かに無視されていました。 | |
DateTimeInterface::format | フォーマット文字に X と x が追加されました。 | |
DateTimeImmutable::createFromFormat | format に指定できる文字に、 X と x が追加されました。 | |
DateTimeImmutable::createFromFormat | datetime に NULLバイトが含まれている場合は、 ValueError がスローされるようになりました。 これより前のバージョンでは、こうした値は静かに無視されていました。 | |
DateTimeImmutable::getLastErrors | PHP 8.2.0 より前のバージョンでは、 この関数は警告やエラーがない場合でも false を返しませんでした。 代わりに、例に示している、警告やエラーに関する情報を含む配列を常に返していました。 | |
FilesystemIterator::__construct | PHP 8.2.0 より前のバージョンでは、 FilesystemIterator::SKIP_DOTS は常に設定され、削除できませんでした。 | |
array_walk | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
array_walk_recursive | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
arsort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
asort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
curl_getinfo | CURLINFO_PROXY_ERROR, CURLINFO_REFERER, CURLINFO_RETRY_AFTER が追加されました。 | |
curl_multi_setopt | CURLMOPT_MAX_CONCURRENT_STREAMS が追加されました。 | |
date_parse_from_format | datetime に NULLバイトが含まれている場合は、 ValueError がスローされるようになりました。 これより前のバージョンでは、こうした値は静かに無視されていました。 | |
dba_fetch | dba_fetch 関数のオプションの skip 引数は、 PHP でユーザーが使える関数のセマンティクスに従い、 最後に置かれるようになりました。 以前のオーバーロードされたシグネチャも引き続き許可されますが、 使わないことをお勧めします。 | |
dba_open | flags が追加されました。 | |
dba_open | handler は、nullable になりました。 | |
dba_popen | flags が追加されました。 | |
getimagesize | AVIF 画像の ビット数、チャンネル情報、幅と高さの情報(dimensions) を返すようになりました。 これより前のバージョンでは、幅と高さの情報は 0x0 として報告され、ビット数とチャンネル情報は全く報告されていませんでした。 | |
idate | フォーマット文字 N (ISO-8601 形式の曜日) と o (ISO-8601 形式の年) が追加されました。 | |
iterator_count | iterator の型が Traversable から、 Traversablearray に拡大されました。 | |
iterator_to_array | iterator の型が Traversable から、 Traversablearray に拡大されました。 | |
krsort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
krsort | SORT_REGULAR を使って数値文字列の比較を行う際に、 PHP 8 で標準になっているルールを使うようになりました。 | |
ksort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ksort | SORT_REGULAR を使って数値文字列の比較を行う際に、 PHP 8 で標準になっているルールを使うようになりました。 | |
lcfirst | ケース変換は、setlocale で設定されたロケールに依存しなくなりました。 ASCII 文字のみが変換されます。 | |
mb_convert_encoding | mb_convert_encoding は、 以下のテキストでないエンコーディングを返さなくなりました: "Base64", "QPrint", "UUencode", "HTML entities", "7 bit", "8 bit" | |
mb_convert_kana | 異なる mode の組み合わせが無効な場合、 ValueError がスローされるようになりました。 | |
mb_detect_encoding | mb_detect_encoding は、 以下のテキストでないエンコーディングを返さなくなりました: "Base64", "QPrint", "UUencode", "HTML entities", "7 bit", "8 bit" | |
natcasesort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
natsort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
openlog | この関数は、常に true を返すようになりました。 これより前のバージョンでは、失敗時に false を返していました。 | |
pg_close | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
pg_untrace | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
random_bytes | CSPRNG が失敗した場合に、 Random\RandomException をスローするようになりました。 これより前のバージョンでは、Exception をスローしていました。 | |
random_int | CSPRNG が失敗した場合に、 Random\RandomException をスローするようになりました。 これより前のバージョンでは、Exception をスローしていました。 | |
rsort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
setcookie | Cookie の日付フォーマットが 'D, d M Y H:i:s \G\M\T' になりました。 これより前のバージョンでは 'D, d-M-Y H:i:s T' でした。 | |
snmp_set_enum_print | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
snmp_set_oid_output_format | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
snmp_set_quick_print | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
snmp_set_valueretrieval | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
sort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
str_ireplace | ケースフォールディングは、setlocale で設定されたロケールに依存しなくなりました。 ASCII のケースフォールディングのみが行われます。 ASCII でないバイト列は、バイト値として比較されます。 | |
str_split | string が空の場合、 空の配列が返されるようになりました。 これより前のバージョンでは、空文字列がひとつ入った配列が返されていました。 | |
strcasecmp | これより前のバージョンで負の数と正の数を返していた場合に、 この関数は -1 と 1 を返すようになりました。 | |
strcmp | これより前のバージョンで負の数と正の数を返していた場合に、 この関数は -1 と 1 を返すようになりました。 | |
stripos | ケースフォールディングは、setlocale で設定されたロケールに依存しなくなりました。 ASCII のケースフォールディングのみが行われます。 ASCII でないバイト列は、バイト値として比較されます。 | |
stristr | ケースフォールディングは、setlocale で設定されたロケールに依存しなくなりました。 ASCII のケースフォールディングのみが行われます。 ASCII でないバイト列は、バイト値として比較されます。 | |
strnatcasecmp | これより前のバージョンで負の数と正の数を返していた場合に、 この関数は -1 と 1 を返すようになりました。 | |
strnatcmp | これより前のバージョンで負の数と正の数を返していた場合に、 この関数は -1 と 1 を返すようになりました。 | |
strncasecmp | これより前のバージョンで負の数と正の数を返していた場合に、 この関数は -1 と 1 を返すようになりました。 | |
strncmp | これより前のバージョンで負の数と正の数を返していた場合に、 この関数は -1 と 1 を返すようになりました。 | |
strripos | ケースフォールディングは、setlocale で設定されたロケールに依存しなくなりました。 ASCII のケースフォールディングのみが行われます。 ASCII でないバイト列は、バイト値として比較されます。 | |
strtolower | ケース変換は、setlocale で設定されたロケールに依存しなくなりました。 ASCII 文字のみが変換されます。 | |
strtoupper | ケース変換は、setlocale で設定されたロケールに依存しなくなりました。 ASCII 文字のみが変換されます。 | |
substr_compare | これより前のバージョンで負の数と正の数を返していた場合に、 この関数は -1 と 1 を返すようになりました。 | |
uasort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ucfirst | ケース変換は、setlocale で設定されたロケールに依存しなくなりました。 ASCII 文字のみが変換されます。 | |
ucwords | ケース変換は、setlocale で設定されたロケールに依存しなくなりました。 ASCII 文字のみが変換されます。 | |
uksort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
usort | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
utf8_decode | この関数は、推奨されなくなりました。 | |
utf8_encode | この関数は、推奨されなくなりました。 | |
var_export | クラス名をエクスポートする場合、そのクラス名は完全修飾名になりました。 これより前のバージョンでは、先頭のバックスラッシュが省略されていました。 | |
IntlCalendar::clear | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
IntlCalendar::set | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
IntlCalendar::setFirstDayOfWeek | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
IntlCalendar::setLenient | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
IntlCalendar::setRepeatedWallTimeOption | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
IntlCalendar::setSkippedWallTimeOption | 戻り値の型が、true になりました。これより前のバージョンでは、bool でした。 | |
ReflectionEnum::getBackingType | 戻り値の型が、 ?ReflectionNamedType として宣言されるようになりました。 これより前のバージョンでは、 ?ReflectionType が宣言されていました。 | |
8.1.14 | SplFileObject::__toString | SplFileObject::fgets のエイリアスから、 SplFileObject::current の実装に変わりました。 この実装は、 SplFileObject::READ_CSV フラグを設定すると、 CSV の文字列を返します。 |
8.1.8 | DateTime::createFromFormat | datetime に NULLバイトが含まれている場合は、 ValueError がスローされるようになりました。 これより前のバージョンでは、こうした値は静かに無視されていました。 |
DateTimeImmutable::createFromFormat | datetime に NULLバイトが含まれている場合は、 ValueError がスローされるようになりました。 これより前のバージョンでは、こうした値は静かに無視されていました。 | |
date_parse_from_format | datetime に NULLバイトが含まれている場合は、 ValueError がスローされるようになりました。 これより前のバージョンでは、こうした値は静かに無視されていました。 | |
8.1.0 | DateTime::setTime | (夏時間遷移のフォールバック期間中に) 二重に存在する hour に関する振る舞いが変更されました。 これより前のバージョンでは、 (夏時間遷移が起こる前の)最初の hour ではなく、 (夏時間遷移が起きた後の)二番目の hour を取得していました。 |
DateTimeImmutable::setTime | (夏時間遷移のフォールバック期間中に) 二重に存在する hour に関する振る舞いが変更されました。 これより前のバージョンでは、 (夏時間遷移が起こる前の)最初の hour ではなく、 (夏時間遷移が起きた後の)二番目の hour を取得していました。 | |
DirectoryIterator::key | イテレーターが初期化されていない場合、 Error がスローされるようになりました。 これより前のバージョンでは、false を返していました。 | |
DOMDocument::createComment | エラーが発生した場合に、 DomException をスローするようになりました。 これより前のバージョンでは、false を返していました。 | |
DOMDocument::createDocumentFragment | エラーが発生した場合に、 DomException をスローするようになりました。 これより前のバージョンでは、false を返していました。 | |
DOMDocument::createTextNode | エラーが発生した場合に、 DomException をスローするようになりました。 これより前のバージョンでは、false を返していました。 | |
current | この関数を object に対してコールすることは、推奨されなくなりました。 object に対して最初に get_mangled_object_vars を使って配列に変換するか、ArrayIterator のような Iterator を実装したクラスのメソッドを使ってください。 | |
date_sunrise | この関数は、推奨されなくなりました。 date_sun_info を代わりに使って下さい。 | |
date_sunset | この関数は、推奨されなくなりました。 date_sun_info を使って下さい。 | |
dba_popen | handler は、nullable になりました。 | |
end | この関数を object に対してコールすることは、推奨されなくなりました。 object に対して最初に get_mangled_object_vars を使って配列に変換するか、ArrayIterator のような Iterator を実装したクラスのメソッドを使ってください。 | |
exif_imagetype | AVIF をサポートしました。 | |
finfo_buffer | 引数 finfo は、finfo クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
finfo_close | 引数 finfo は、finfo クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
finfo_file | 引数 finfo は、finfo クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
finfo_open | finfo クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 リソース を返していました。 | |
finfo_set_flags | 引数 finfo は、finfo クラスのインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
fputcsv | オプションの引数 eol が追加されました。 | |
ftp_alloc | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_append | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_cdup | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_chdir | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_chmod | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_close | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_connect | FTP\Connection クラスのインスタンスを返すようになりました。 これより前のバージョンでは、 リソース が返されていました。 | |
ftp_delete | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_exec | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_fget | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_fput | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_get | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_get_option | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_login | 引数 ftp は、FTP\Connection のインスタンスを期待するようになりました。 これより前のバージョンでは、リソース を期待していました。 | |
ftp_mdtm | 引数 ftp は、FTP\Connection 上にスクロール |