php-master-changes 2019-07-15

今日は不要コードの削除、ドキュメントの更新、opcache_get_configuration() で ini_get_all('zend opcache') でとれる結果が全てとれない問題の修正、AArch64 用の文字列エスケープの最適化、循環参照GC で SEGV が起きる問題の修正、字句解析器で無効な文字向けに T_BAD_CHARACTER を吐くようにする修正、date.sunset_zenith と date.sunrise_zenith のデフォルト値を 90.583333 から 90.833333 にする修正、password_hash() が argon2 で弱いオプションを使う問題の修正、mysqlnd のバージョン番号に PHP バージョンを使うようにする修正、ftp のリーク修正の 7.2 系以降へのバックポート、shebang の対応を字句解析器内で行うようにする修正があった！

# 2019-07-15
## petk: Remove unsed zts check for sqlite3
- https://github.com/php/php-src/commit/e39296d10bffaaf792440c82f61662268c748a93
- [7.4~]
- ext/sqlite3 で、不要な ZTS のチェックを削除

## petk: Remove conditional calls of always available macros
- https://github.com/php/php-src/commit/94421e5724e1942499d024ae7537a329fe426133
- [7.4~]
- ビルドシステムで、常に存在するマクロの不要な存在チェックの削除

## petk: Symbol HAVE_PCRE has been removed
- https://github.com/php/php-src/commit/9310ac2ab530da1ba5547bdac1b8786b8e3e41be
- UPGRADING.INTERNALS で、HAVE_PCRE の削除について言及を追加

## petk: Remove usage of PHP_AIX_LDFLAGS
- https://github.com/php/php-src/commit/93b3d2f6eeb1db16af4a869688829a04c7f11e6d
- [7.4~]
- ビルドシステムで、PHP_AIX_LDFLAGS の利用を削除

## amnuts: Fix bug [#78291](https://bugs.php.net/bug.php?id=78291) Missing opcache directives
- https://github.com/php/php-src/commit/768ad70f70a1bebed38e2b06a7515e3c61482f75
- [7.2~]
- ext/opcache で、[opcache_get_configuration()](https://www.php.net/manual/ja/function.opcache-get-configuration.php) で [ini_get_all('zend opcache')](https://www.php.net/manual/ja/function.ini-get-all.php) でとれる結果が全てとれない問題の修正

## sebpop: vectorize string-escape with NEON
- https://github.com/php/php-src/commit/af7639683f072c15b8af3648dc6b0c2b14201d21
- [7.4~]
- AArch64 で、NEON を使って文字列エスケープをベクトル化

## nikic: Fixed bug [#78010](https://bugs.php.net/bug.php?id=78010)
- https://github.com/php/php-src/commit/193f28c7d557df887c4456d072113cc2478e1c3e
- [7.3~]
- 循環参照GC で SEGV が起きる問題の修正

## nikic: Remove unused is_constructor arguments
- https://github.com/php/php-src/commit/f821256d00180eb5452c7d01c5c31141bf10f884
- ext/intl で、使われていない引数 is_constructor の削除

## nikic: Emit T_BAD_CHARACTER for unexpected characters
- https://github.com/php/php-src/commit/9ad094e371961f8d291f95945a2a086db2e0378f
- [7.4~]
- 字句解析器で無効な文字向けに T_BAD_CHARACTER を吐くよう修正
- ext/tokenizer で、[token_get_all()](https://www.php.net/manual/ja/function.token-get-all.php) で[取得結果に穴](https://3v4l.org/mA4Nh)ができないようになる

## cmb69: Fix [#65547](https://bugs.php.net/bug.php?id=65547): Default value for sunrise/sunset zenith still wrong
- https://github.com/php/php-src/commit/7556600dfc80e9a11db538ce58cb249d6cdda7b3
- ext/date で、date.sunset_zenith と date.sunrise_zenith が一般的な値でなかった問題の修正
- 90°50' を使って 90.833333 になると思いきや 90°35' で 90.583333 になっており、その[根拠](https://bugs.php.net/bug.php?id=49448)がよく分からない感じだった
- sunrise とか sunset でとる値が PHP 8 で（デフォルトでは）変わるので、使ってる人は急にテストこけてびびらされたりするかもしれない？

## remicollet: Fix [#78269](https://bugs.php.net/bug.php?id=78269) password_hash uses weak options for argon2
- https://github.com/php/php-src/commit/eab0079c902a9a52773c6bb63b57555dee45b3ab
- [7.2~]
- password_hash() が argon2 で弱いオプションを使う問題の修正

## remicollet: typo [ci skip]
- https://github.com/php/php-src/commit/ad48464ec2ef6c9b4026129dd1adc413fa4fe3c7
- [7.3~]
- NEWS で、typo の修正

## cmb69: Sync mysqlnd version with PHP version
- https://github.com/php/php-src/commit/37043e07dfa57dbc567b7217ca7aa25a1385ccb6
- [7.4~]
- ext/mysqlnd で、バージョン番号に PHP バージョンを使うよう修正

## nikic: Fix bug [#77124](https://bugs.php.net/bug.php?id=77124)
- https://github.com/php/php-src/commit/88ffe0579726f7ba1985c9223e6005c581032757
- [7.2~]
- ext/ftp で、[先日のリーク修正](https://qiita.com/sj-i/items/8aabd2ee07533ed469a1#nikic-fix-ssl_ctx-leak-in-ftp-extension)の 7.2 系以降へのバックポート

## nikic: Move shebang handling into the lexer
- https://github.com/php/php-src/commit/c5f1b384b591009310370f0b06b10868d2d62741
- [7.4~]
- shebang の対応を字句解析器内で行うよう修正
- 元々 cli / cgi / phpdbg の各 sapi モジュール側で先頭を読んで読み込み開始位置をずらすような実装を持っており、[#60677](https://bugs.php.net/bug.php?id=60677) や [#78066](https://bugs.php.net/bug.php?id=78066) の原因になっていた