php-master-changes 2019-02-28

今日は配列の文字列変換の処理タイミングの修正、不要な m4 マクロの削除、不要コードの削除、extract() でクラッシュする場合がある問題の修正、あるHTTP アクセスするテストケースのスキップ可能化、AppVeyor で opcache 有効時の並列テスト無効化、imagecreatefromstring() の引数処理の ZPP 対応、OpenSSL 1.1.1b での挙動修正対応、mysqli の embedded サーバサポートコードの削除、DateInterval::createFromDateString() がエラーを吐かずに失敗する問題の修正、_DO_THROW() マクロ内で return するのをやめる修正があった！

# 2019-02-28
## bwoebi: Delay array to string conversion notice until runtime
- https://github.com/php/php-src/commit/94d3e4010217a19b0d0e44099b8a075aec307c0f
- [7.4~]
- 配列の文字列へのキャストをコンパイル時でなく実行時に持っていくよう修正
- テストがこけてたみたい

## petk: Remove deprecated PHP_EXTENSION m4 macro
- https://github.com/php/php-src/commit/3aeb7b0e77c1411962f779fef6baa43cc41905c7
- [7.4~]
- 不要な m4 マクロ PHP_EXTENSION の削除

## petk: Remove unused PHP_AC_BROKEN_SNPRINTF m4 macro
- https://github.com/php/php-src/commit/5cf570c9143481da9dd4ccaa5dade0adecda8f7b
- [7.4~]
- 不要な m4 マクロ PHP_AC_BROKEN_SNPRINTF の削除

## petk: Remove ZEND_FP_EXCEPT macro and HAVE_FP_EXCEPT
- https://github.com/php/php-src/commit/00e050e7c75c5a06219fa6e8b310202d11e0543a
- [7.4~]
- 不要な m4 マクロ ZEND_FP_EXCEPT の削除

## petk: Remove not needed PHP_PDO_PEAR_CHECK m4 macro
- https://github.com/php/php-src/commit/6ee82a2a48b0c0a0086dab4748ff3f75cac8bc7d
- [7.4~]
- 不要な m4 マクロ PHP_PDO_PEAR_CHECK の削除

## petk: Remove unused package2.xml file
- https://github.com/php/php-src/commit/6d487ee1775b2e659e0c40f3a422398856a740a7
- [7.4~]
- ext/pdo_oci で、使われていない package2.xml の削除

## bwoebi: Fix test (order of warning / notice changes due to delaying until runtime)
- https://github.com/php/php-src/commit/9d5db37cee4ebe5cfddb47b6fbce5329ddaad2a7
- [7.4~]
- [同日の修正](#bwoebi-delay-array-to-string-conversion-notice-until-runtime)で警告の出力タイミングが変わってテストがこけていたのを修正

## nikic: Fixed bug [#77669](https://bugs.php.net/bug.php?id=77669)
- https://github.com/php/php-src/commit/9ad9cc71ff3bb45532b22b4145ea3af90692b364
- [7.2~]
- [extract()](http://php.net/manual/ja/function.extract.php) でクラッシュする場合がある問題の修正

## nikic: Mark ext/xmlreader/tests/bug70309.phpt as online test
- https://github.com/php/php-src/commit/a18e5c61cd542725356d2765cb65498777e40d2c
- [7.4~]
- ext/xmlreader のあるテストについて、HTTP で 500KB くらいのファイルを取ってくるコードがあったのでオンラインテストとしてスキップできるよう修正

## nikic: Disable test parallelization on AppVeyor with opcache
- https://github.com/php/php-src/commit/a0b527eb33a5aa50d85e1dc2e5e6d7c32d771109
- [7.4~]
- AppVeyor で opcache 有効だと並列テストがこけるので一旦無効化

## nikic: Use zpp string argument in imagecreatefromstring()
- https://github.com/php/php-src/commit/4be8208ef77bcfc30c709f7445312fe65a24382e
- [imagecreatefromstring()](http://php.net/manual/ja/function.imagecreatefromstring.php) で、ZPP で文字列引数の指定を行うよう修正

## weltling: Sync with behavior change in OpenSSL 1.1.1b
- https://github.com/php/php-src/commit/19a44ffb7be91344550fa700830b8e62a73031ba
- [7.2~]
- ext/openssl で、OpenSSL 1.1.1b での挙動修正に対応
- よう分からんけど EVP_EncryptUpdate() が decrypt context で使われた時の挙動が変わったので EVP_CipherUpdate() に変えといたみたいな奴か？

## nikic: Remove mysqli embedded server support
- https://github.com/php/php-src/commit/7be0e06b482e5bf14eaf4fe9a882d8b72d644038
- [7.4~]
- ext/mysqli で、embedded サーバのサポートを削除
- 少なくとも PHP 7.0 から動いてなかったけど文句出てないから要らねーんだろ！みたいな話らしい

## cmb69: Remove dead code
- https://github.com/php/php-src/commit/345a75f5419c5ec37086ede199a1a8b9623ff407
- [7.4~]
- ext/gd で、不要コードの削除

## weltling: Sync with 7be0e06b482e5bf14eaf4fe9a882d8b72d644038
- https://github.com/php/php-src/commit/9d356bab503c0875d577ab5c19638559549ea9f7
- [7.4~]
- ext/mysqli で、config.w32 でも embedded サーバのサポートを削除

## derickr: Fixed bug [#50020](https://bugs.php.net/bug.php?id=50020) (DateInterval:createDateFromString() silently fails)
- https://github.com/php/php-src/commit/a890c5beb8327b7fbb2f25347256ef0dc5809750
- [7.2~]
- ext/date で、[DateInterval::createFromDateString()](http://php.net/manual/ja/dateinterval.createfromdatestring.php) がエラーを吐かずに失敗する問題の修正
- 空の DateInterval 返してそこから DatePeriod 作ろうとすると無限ループになるという奴だった
- 無駄にこの 空の DateInterval 作ってて無限ループは踏んでなかったような既存コードがあると 7.2 系のマイナーバージョンアップで BC break になってビビるかもなあ

## nikic: Remove more leftovers of mysqli embedded server
- https://github.com/php/php-src/commit/248f9cf33f855133669b7748a32d7b73256b0f4a
- [7.4~]
- ext/mysqli で、embedded サーバサポートの残骸を削除

## nikic: Don't return inside _DO_THROW macro
- https://github.com/php/php-src/commit/f4ded492c922e44e9d61691de584a07e1b49bb58
- [7.4~]
- _DO_THROW() マクロ内で return するのをやめた
- 使うたび「マクロ内で return されるよ！」とコメント書くくらいなら外で return と書こう、というもっともな話