php-master-changes 2019-07-22

この日は システムの libgd 利用時の gd 拡張のビルド修正、fpm が SEGV で死ぬ問題の修正、reflection でクラス変数アクセスコードにクラススコープを適用するようにする修正、zend_update_class_constants() の実装への静的メンバーテーブルの初期化処理の追加、CI でこけるテストの修正、7.4 での大量の諸々の非推奨化、不要コードの削除、ドキュメントの更新、ReflectionReference において rc=1 の自己参照配列を特別扱いするようにする修正があった！

# 2019-07-22
## remicollet: improve temporary fix for system libgd
- https://github.com/php/php-src/commit/fff6b18657c26d18a4154d974908101770c7b66d
- [7.4~]
- ext/gd で、config.m4 に PHP_GD_PNG、PHP_GD_JPEG を追加
- [先日の修正](https://qiita.com/sj-i/items/e5d22dcad9c5d374df04#remicollet-fixed-bug-78314-missing-freetype-supportfunctions-with-external-gd)に関連、[コメント](https://github.com/php/php-src/commit/eba877de77d8dd59233f4efd3896f10f19ec7b78#commitcomment-34390705)で要るんじゃない？という話になった奴

## plmnikulin: Prevent use after free in fpm_event_epoll_wait
- https://github.com/php/php-src/commit/bdf24f8d6d9d495ece354d6fd2dd6ed169198a2e
- [7.3~]
- sapi/fpm で、fpm_event_epoll_wait() の use after free の修正
- [#77185](https://bugs.php.net/bug.php?id=77185)
- これが原因で fpm が SEGV で死んだりしてた

## dstogov: Evaluate constant in class scope
- https://github.com/php/php-src/commit/2f51764e5d91da11d47a99ba444cd00185298e23
- [7.4~]
- ext/reflection で、クラス変数アクセスコードにクラススコープを適用するよう修正

## dstogov: Initialize static_members_table
- https://github.com/php/php-src/commit/60dca2295d4eb87873e85bed24880a948a4049cc
- [7.4~]
- Zend API zend_update_class_constants() の実装で、静的メンバーテーブルの初期化処理を追加

## nikic: Reduce number of workers in test
- https://github.com/php/php-src/commit/5e4dbce5864811122110b49298e8b3eeb8b9d4b0
- [7.3~]
- sapi/fpm で、あるテストで使うワーカー数を 10 から 4 に減らした
- CI で 10 だとなんか具合悪かったもよう

## nikic: Deprecate get_magic_quotes_gpc() and get_magic_quotes_runtime()
- https://github.com/php/php-src/commit/b2ea507beab862a0167af6b99f44fe9c695ca4f0
- [7.4~]
- get_magic_quotes_gpc() と get_magic_quotes_runtime() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate array_key_exists() on objects
- https://github.com/php/php-src/commit/0ba7c3eadf2683e4581079ea04b5b3019a5b6cce
- [7.4~]
- array_key_exists() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate Reflection export() methods
- https://github.com/php/php-src/commit/3121b7174f4cb077b1165bf4feed1ec889472f1e
- [7.4~]
- Reflection の export() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate encoding as 3rd param to mb_strrpos()
- https://github.com/php/php-src/commit/39e756e7fe7b08092b4a75cf253442cba826e910
- [7.4~]
- mb_strrpos() の第三引数へエンコーディングを渡すのを非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate ezmlm_hash()
- https://github.com/php/php-src/commit/e9e2fa4ad4983961bb6e0c495cb0d94a5445714c
- [7.4~]
- ezmlm_hash() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate hebrevc()
- https://github.com/php/php-src/commit/4e4d8a4a6c96e2dd6376d512d31bdc26d5b355ba
- [7.4~]
- hebrevc() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate money_format()
- https://github.com/php/php-src/commit/b1cdf06673789cf5c379e7af88c5af98bd06735c
- [7.4~]
- money_format() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate is_real() function
- https://github.com/php/php-src/commit/4e190691e2d6a07dd79f3555d4d8d1f26e9f0a11
- [7.4~]
- is_real() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate FILTER_SANITIZE_MAGIC_QUOTES
- https://github.com/php/php-src/commit/cd2f2cd7d005fb6f23552b815892f7a885489976
- [7.4~]
- FILTER_SANITIZE_MAGIC_QUOTES の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate implode() with swapped parameter order
- https://github.com/php/php-src/commit/46b982409a2448e860666e3e25eef320a3c5bf07
- [7.4~]
- implode() の引数順序を逆にしても動くのを非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate (real) cast
- https://github.com/php/php-src/commit/e41b7f6db42472158fd44bb502ee1b8e51dca610
- [7.4~]
- (real) での浮動小数点数キャストを非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate convert_cyr_string()
- https://github.com/php/php-src/commit/b3668aabf7d9bf1444edbbd13fe20de5d89e008e
- [7.4~]
- convert_cyr_string() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate restore_include_path()
- https://github.com/php/php-src/commit/964de035a7c9c78d262a7369a0b7a5eb747719ae
- [7.4~]
- restore_include_path() の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate allow_url_include
- https://github.com/php/php-src/commit/b3f74b0b7d89ee8efe6897b9ed6397d8b80a15e0
- [7.4~]
- allow_url_include の非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Deprecate unbinding $this from non-static closure
- https://github.com/php/php-src/commit/28cf080701082cbb1848d511d38cc1ecd060a752
- [7.4~]
- 非スタティックのクロージャでの $this のアンバインドを非推奨化
- [PHP RFC: Deprecations for PHP 7.4](https://wiki.php.net/rfc/deprecations_php_7_4)

## nikic: Add deprecations to UPGRADING
- https://github.com/php/php-src/commit/23bb9f4e2ff1d8bae716631cfcd7f27d93f7266f
- [7.4~]
- UPGRADING で、諸々の非推奨化を追記

## cmb69: Drop superfluous ENABLE_GD_TTF
- https://github.com/php/php-src/commit/d3d3404db7e8b82e171bfb119c69dc6770502ae4
- [7.4~]
- ext/gd で、不要な ENABLE_GD_TTF を削除

## nikic: Remove test for bug [#77185](https://bugs.php.net/bug.php?id=77185)
- https://github.com/php/php-src/commit/b59a9381b989c5c434b30482b1c1b8493f3ceb27
- [7.3~]
- sapi/fpm で、CI でうまいこと動かないテストの削除

## cmb69: Remove superfluous HAVE_GD_BUNDLED checks
- https://github.com/php/php-src/commit/f8202b5513455054464b9388793fa1c7093bfc1d
- [7.4~]
- ext/gd で、不要な HAVE_GD_BUNDLED の削除

## petk: Remove HAVE_DSA_DEFAULT_METHOD
- https://github.com/php/php-src/commit/4b03e102c58f56cbf5f794f21face56abd662e90
- ビルドシステムで、不要な HAVE_DSA_DEFAULT_METHOD の削除

## petk: Fix internals upgrading log
- https://github.com/php/php-src/commit/9b8bf13b3a7483df83d43eb4bb204be218f3bc97
- [7.4~]
- UPGRADING.INTERNALS で、消していないものが消したことになっていたのを修正

## petk: Remove HAVE_PQPUTCOPYEND
- https://github.com/php/php-src/commit/a2b758dab5b5707e8d3efe18d7489349f8a60a1d
- [7.4~]
- ext/pgsql で、HAVE_PQPUTCOPYEND の削除

## remicollet: cleanup gd build with system libgd - drop need to use libpng with system libgd - drop need to use libjpeg with system libgd - drop need to use libXpm with system libgd - drop need to use libfreetype with system libgd - improve configure comments
- https://github.com/php/php-src/commit/31d85b84178d81f64437aec185099231767f3a31
- [7.4~]
- ext/gd で、システムの libgd 利用時のビルドを修正
- libpng / libjpeg / libXpm / libfreetype はバンドル版の libgd 利用時のみ必要となった

## nikic: Revert "Add ReflectionReference::getRefcount()"
- https://github.com/php/php-src/commit/19588a8f3be1dc223dfb15067eef35e1908a8ba7
- [7.4~]
- ext/reflection で、[先日の修正](https://qiita.com/sj-i/items/5dae03d6ad66b9f5f3da#nikic-add-reflectionreferencegetrefcount)をリバート
- かわりに↓の修正が入った

## nikic: Special-case rc=1 self-referential arrays in ReflectionReference
- https://github.com/php/php-src/commit/c817b8020c8a835946681ca94b9257e78e64dad3
- [7.4~]
- ext/reflection で、ReflectionReference において rc=1 の自己参照配列を特別扱いするよう修正
- [#78263](https://bugs.php.net/bug.php?id=78263) の対応のやり直し