php-master-changes 2019-03-18

今日は DatePeriod::getRecurrences() の追加、不要なドキュメントの削除、不要な変数、コード、m4 マクロの削除、register_shutdown_function() のコールバック内でオブジェクトスロットの再利用を止めないようにする修正、php.ini でコメント内の説明が誤っていたのの修正、opcache の最適化バグ修正、ob_start() のハンドラ内で SplFileObject への書き込みが SEGV を起こす問題の修正、datefmt_format_object() で DateTimeImmutable が使えない問題の修正、テストの修正、php_pcre_match_impl() が char* でなく zend_string* をとるようにする修正、win32 で configure に bison のバージョンチェックを追加する修正があった！

# 2019-03-18
## nyamsprod: Fixed bug [#75113](https://bugs.php.net/bug.php?id=75113): Added DatePeriod::getRecurrences() method.
- https://github.com/php/php-src/commit/6eb83a63e1833f0991af4ccccc5533269c8af96c
- [7.2~]
- ext/date で、DatePeriod::getRecurrences() を追加

## derickr: Fixed 7.2 compat issue
- https://github.com/php/php-src/commit/ab07bc1fff27c19b390e0f57ceb4a0523085fdfa
- [7.2~]
- ext/date で、7.2 系 / 7.3 系では [ZEND_THIS](https://qiita.com/sj-i/items/33d77cc3d6f7af5b9c66#dstogov-use-zend_this-macro-to-hide-implementation-details-in-extensions-code) がないので、getThis() に修正（上位バージョンでは ZEND_THIS のまま）

## petk: Remove outdated README for ext/json
- https://github.com/php/php-src/commit/bcaf90e5ebd294973779a62facc139e82e4136f9
- [7.4~]
- ext/json で、古くなって不要になっていた README を削除

## Fabien Villepinte: Remove unused variables
- https://github.com/php/php-src/commit/b6f9ade9f201c852430689caf8ed8af0ded0159a
- [7.4~]
- 使われていない変数の削除

## petk: Sync AC_CHECK_SIZEOF m4 macro calls
- https://github.com/php/php-src/commit/ccc29473ecdb07d9735e7b6361b7daeec6c3ede1
- [7.4~]
- ビルドシステムで、m4 マクロ PHP_CHECK_64BIT を削除して単に long のサイズを見るよう
- AC_CHECK_SIZEOF の呼び出しをだいぶ削った
- XMLRPC_TYPE_CHECKS を削除
- ZEND_BIN_ID を修正
- SIZEOF_CHAR を削除
- long long int は要は long long なのでチェックを削除

## petk: [ci skip] Update changelog
- https://github.com/php/php-src/commit/4b081c27836d5e0a76dc66f9063cb3016de5d559
- [7.4~]
- UPGRADING.INTERNALS で、潰した m4 マクロ一覧に PHP_CHECK_64BIT を追記

## twose: Don't disable object slot reuse while running shutdown functions
- https://github.com/php/php-src/commit/bd6eabd6591ae5a7c9ad75dfbe7cc575fa907eac
- [7.2~]
- register_shutdown_function() のコールバック内で、オブジェクトスロットの再利用を止めないよう修正
- [PR:3950](https://github.com/php/php-src/pull/3950)
- swoole では `Swoole\Event::wait` の呼び忘れ時に register_shutdown_function() 内でイベントループを走らせるというすごいことをやってて、メモリ溢れちゃうらしい……で、小さなスクリプトではふつうにその挙動に頼ると、その発想はなかった感

## nikic: Fix unused variable warning
- https://github.com/php/php-src/commit/a573c0e9ed4301916b1ccbae535872b793400f87
- [7.2~]
- ext/date で、不要変数の削除

## cmb69: Fix [#76956](https://bugs.php.net/bug.php?id=76956): Wrong value for 'syslog.filter' documented in php.ini
- https://github.com/php/php-src/commit/ad2d2e41de3a8ac243a73ec447f4107f0ba56aac
- [7.3~]
- デフォルトの php.ini で、コメント内の syslog.filter の使い方説明が誤っていたのを修正

## nikic: Fixed bug [#77743](https://bugs.php.net/bug.php?id=77743)
- https://github.com/php/php-src/commit/54bf8c820f4ac2c9204cd09b66fbe99c3db5939b
- [7.2~]
- ext/opcache で、SSA 最適化のバグで 45 === false が真になったりする問題の修正

## nikic: Partial fix for bug [#77751](https://bugs.php.net/bug.php?id=77751)
- https://github.com/php/php-src/commit/4f034016289f5a52073bfd012899dd3e202742b5
- [7.2~]
- ext/spl で、ob_start() のハンドラ内で SplFileObject への書き込みが SEGV を起こす問題の修正
- とりあえずクラッシュしなくなっただけでファイルへの書き込みはできない状態

## nikic: Allow DateTimeImmutable in datefmt_format_object()
- https://github.com/php/php-src/commit/433758ceb3e11df184a87e8185fbd7f8b969fb79
- [7.2~]
- ext/intl で、datefmt_format_object() で DateTimeImmutable が使えない問題の修正

## nikic: Make test independent of icu version
- https://github.com/php/php-src/commit/b3a669bec1e55ac0e58f84a620efe377f36ab1b3
- [7.2~]
- ext/intl で、テストが ICU のバージョンによらず動くよう修正

## laruence: Simplfy test case
- https://github.com/php/php-src/commit/e072537e7f7dfd1de0a10172b80dba79a525dc72
- [7.2~]
- ext/opcache で、テストの単純化
- [これ](#nikic-fixed-bug-77743) laruence の人も見ていたみたい

## nikic: Accept zend_string* instead of char* in php_pcre_match_impl()
- https://github.com/php/php-src/commit/275fa5356442d4b387cc3401aee276f5a3b452b0
- [7.4~]
- ext/pcre で、php_pcre_match_impl() が char* でなく zend_string* をとるよう修正

## cmb69: Add bison version check to configure
- https://github.com/php/php-src/commit/f21c0549030762f8403f57eef375af9f946133e7
- [7.2~]
- win32 のビルドシステムで、configure に bison のバージョンチェックを追加

## cmb69: Avoid unnecessary global variable
- https://github.com/php/php-src/commit/8c9d8c3f667e4cedc7499b49dcc52644dac17c53
- win32 のビルドシステムで、不要なグローバル変数を削除