php-master-changes 2019-07-02

今日はテストの修正、Azure Pipelines の設定修正、エンジンの最適化、不要コードの削除、ドキュメントの更新、FreeBSD 用の huge page 割り当て処理の修正、PDO でユーザ名とパスワードをコンストラクタで別で渡さず DSN で指定できるようにする修正、sqlite3 の拡張リザルトコード取得への対応、例外スタックトレースから引数情報を隠す設定 zend.exception_ignore_args を追加する修正があった！

# 2019-07-02
## cmb69: Add missing SKIPIFs
- https://github.com/php/php-src/commit/75bc3446f815b602ab6821c18fb0a1b05b61580f
- [7.2~]
- ext/opcache で、テストの SKIPIF が足りなかったのを追加

## nikic: Skip perf-sensitive fileinfo tests
- https://github.com/php/php-src/commit/7acc828abff54296d7068d6ae5024bbf0190b2b3
- [7.4~]
- ext/fileinfo で、2 つのテストケースを SKIP_PERF_SENSITIVE の際はスキップするよう修正

## nikic: Generate less code in compile time binary op test
- https://github.com/php/php-src/commit/59522c5a85d0f87679dce05f5a0247deb59e1ba3
- [7.4~]
- 二項演算命令のテストコード生成時に不要コードを減らすよう修正

## nikic: Setup msan on azure
- https://github.com/php/php-src/commit/0dfca74be21125ae5a6e5735b8b52adc8825d6e7
- [7.4~]
- Azure Pipelines の設定で、msan を有効化

## cmb69: Add missing SKIPIFs
- https://github.com/php/php-src/commit/57688ad7bff7e769078d1e670a65853635d31a71
- [7.2~]
- ext/opcache で、テストの足りない SKIPIF の追加

## cmb69: Fix SKIPIF conditions
- https://github.com/php/php-src/commit/fc94e0fc6ee06bff8104f78330f8cd4d093d91e5
- ext/opcache で、テストの SKIPIF で読み込むファイルパスが誤っていたのを修正

## dstogov: Eliminate exception checks
- https://github.com/php/php-src/commit/f58c645dcc7ac88b5eb96ae2e655e1cf29e83381
- [7.4~]
- fetch_obj_r_copy に飛ばさず fetch_obj_r_fast_copy に飛ばすパスを増やし、オブジェクトフェッチの高速化かな

## dstogov: Use string destructor instead of general zval_ptr_dtor_nogc()
- https://github.com/php/php-src/commit/2d4bb4f44a5be900f463a634838b665cb833005d
- [7.4~]
- ZEND_CONCAT と ZEND_FAST_CONCAT で 汎用の zval_ptr_dtor_nogc() ではなく zend_string_release_ex() で文字列を破棄するよう修正

## dstogov: Separate slow code
- https://github.com/php/php-src/commit/cbbd473bdd3f47b3741692b7926b2b7fda8cf3a7
- [7.4~]
- オブジェクト / 配列参照コードでスローパスのコードを分離、かな

## dstogov: Fixed build without global register variables
- https://github.com/php/php-src/commit/baa883d3fc442fd2ef1ca66eed6416780cdd98b6
- [7.4~]
- ↑の修正で global register variables なしでのビルドが壊れてたのを修正

## nikic: Remove unused (module|request)_shutdown_for_exec
- https://github.com/php/php-src/commit/b88ef3dc58897c9b5d00c97408687d38b40b8a85
- [7.4~]
- 使われていない関数 module_shutdown_for_exec() と request_shutdown_for_exec() の削除

## nikic: Update proto comment for proc_open
- https://github.com/php/php-src/commit/1e06a8ef950278dd8a154fa57e78f56745157070
- [7.4~]
- [proc_open()](https://www.php.net/manual/ja/function.proc-open.php) の proto で array も受け付けるよう修正
- [先日の機能追加](https://qiita.com/sj-i/items/f57883e1a42227488811#nikic-add-support-for-proc_open-with-a-command-array)に伴うやつ

## nikic: Fix clang build
- https://github.com/php/php-src/commit/03846afdf7a3e1d7fc9e620c119e14ab9a28cf8d
- [7.4~]
- clang でのビルドこけを修正

## devnexen: Fix opcache huge page mapping on FreeBSD
- https://github.com/php/php-src/commit/7f1fef9fe0a465909eb454edf36836131f484ba4
- [7.4~]
- ext/opcache で、FreeBSD 用コードの huge page の割り当て処理を修正

## SjonHortensius: PDO: support username & password specified in DSN
- https://github.com/php/php-src/commit/a7881df281f74e13cf360fd3624ef849ce747e33
- [7.4~]
- ext/pdo で、ユーザ名とパスワードをコンストラクタで別で渡さず DSN で指定できるよう修正
- pgsql のみ前からできた

## alex-scott: Fix bug [#78138](https://bugs.php.net/bug.php?id=78138): opcache.validate_permission incorrectly works with PHAR files
- https://github.com/php/php-src/commit/a4acff3e21778e8d1f635cf74611b1c13de5ee2a
- [7.2~]
- ext/opcache で、opcache.validate_permission が phar だとうまいこと動かなかった問題の修正

## SjonHortensius: update NEWS [ci skip]
- https://github.com/php/php-src/commit/615ce0b0994206676ad9ab6a7579f1f5cc29ff47
- [7.4~]
- NEWS に PDO の DSN の修正を追記

## rkopack: Implement SQLite extended result code functionality
- https://github.com/php/php-src/commit/b546ae986a6efe4daadd23e27f6ccaac5c857e5e
- [7.4~]
- ext/pdo_sqlite で、`PDO::setAttribute(PDO::SQLITE_ATTR_EXTENDED_RESULT_CODES, true)` で拡張リザルトコードをとれるよう修正
- ext/sqlite3 で、`SQLite3::lastExtendedErrorCode()` や `SQLite3::enableExtendedResultCodes(true)` からの `SQLite3::lastErrorCode()` で拡張リザルトコードをとれるよう修正

## krakjoe: simple ignore arguments in exceptions implementation
- https://github.com/php/php-src/commit/0819e6dc9b4788e5d44b64f8e606a56c969a1588
- [7.4~]
- zend.exception_ignore_args を追加
- 例外のスタックトレースに引数情報が出なくなる
- [internals で話の出ていた](https://externals.io/message/105961)やつ
- デフォルト Off だが、デフォルトの php.ini では development だと Off、production だと On
- 各ディストリビューションのパッケージでデフォルトがどうなるか知らないけど、自前で秘密情報を潰しつつ例外スタックトレースの情報をとっていたようなケースでびびるかも

## cmb69: Fix NEWS
- https://github.com/php/php-src/commit/41949bb71ecb0eea68192aa9abe8f726abc9e7d3
- [7.3~]
- NEWS で、PHP 7.3.7RC2 でリリース前に修正されていたバグ修正が 7.3.7 のエントリに入ってたのを修正

## nikic: Backport test fix
- https://github.com/php/php-src/commit/32c68428a9888e3776441ed39c85b8b49f08fb88
- [7.2~]
- テスト修正の 7.2 系移行へのバックポート

## Stricted: azure: exclude some documentation paths
- https://github.com/php/php-src/commit/f8788eb7f36adb6ad827507ad4c94ad547b0bad8
- [7.4~]
- Azure Pipelines の設定で、ドキュメントの更新がジョブをトリガしないよう修正