php-master-changes 2018-08-06

今日はちょっと多め
あと petk の人に PR マージしてもらっててちょっとうれしい

# 2018-08-06
## bukka: Fix FPM logging when log pipe is closed
- https://github.com/php/php-src/commit/2a67d62395c1e9a2debf70cdf29613302cdb0788
- sapi/fpm のロガーリファクタリングで出たバグの修正
    - https://github.com/php/php-src/pull/2458 あたりで流れを追える

## bukka: Use php_openlog instead of openlog in FPM
- https://github.com/php/php-src/commit/e942663a0942a90ec6af2657e5086ac4f4a5e0fc
- sapi/fpm で前のコミットで入った誤りの修正

## sj-i: Fixed incorrect restoring of LDFLAGS
- https://github.com/php/php-src/commit/0f557756dd3bb7a6390894e04f9ca25333c88d67
- 以前に [phpusers-ja の slack](https://www.msng.info/archives/2016/02/phpusers-ja-on-slack.php) で報告されてたバグ
- ext/gettext を静的にリンクする時起きる問題で、Mac で homebrew で gettext 入れてるとか、デフォルトのライブラリ探索パスに libintl が見つからない時に起きる
- ビルドスクリプト内で LDFLAGS の調整が誤っており、configure が -lintl 付きでのコンパイラ起動をできず、getcwd() を見つけられなくなって、PHP から getcwd() を呼ぶと常に失敗する（空の実装が呼ばれる）ようになる

## petk: [ci skip] Update NEWS
- https://github.com/php/php-src/commit/169a98319a8e0bf07efeecc5c0026487febd9c6e
- ↑のビルド時の問題直したよというのの NEWS への追記

## devnexen: fpm process name, FreeBSD 12.x using new setproctitle_fast
- https://github.com/php/php-src/commit/9b462f332eaa0588ced82851efe88c04ca0fe2a8
- sapi/fpm でのプロセス名設定の際、FreeBSD 12.x では setproctitle_fast を使うよう修正
- https://reviews.freebsd.org/D16111 で PostgreSQL なんかの setproctitle() をよく使うもの用にできたっぽい
- システムコールなしで動くので速いらしい

## cmb69: [ci skip] Fix UPGRADING
- https://github.com/php/php-src/commit/d4053cee6b9dfd7112fae03a921553793b99dfc0
- 関数呼び出し時にケツカンマが使えるむねの記述を追加
- RFC の受理は結構前だけど、まだ告知に入ってなかったもよう

## carusogabriel: Fix SKIPIF conditions for online tests
- https://github.com/php/php-src/commit/d570b7382d0a1c2c80ea7210daf8544eac08135d
- 環境変数 SKIP_ONLINE_TESTS を見てテストをスキップする箇所の修正
- 必要ない箇所で削ってそうでないところを足したという話
- 削ってるとこ、幾つかネット必要なテストに見えなくもないけど、なにゆえ削ってダイジョブなのかイマイチ謎

## carusocabriel: Remove unecessaries percent signs
- https://github.com/php/php-src/commit/dae65a89aa45dcf51da9a4aac37f8cf8b1211563
- ext/enchant のエラーメッセージで不要な %s を除去

## petk: Fix bug #72443: Generate enabled extension
- https://github.com/php/php-src/commit/45a3c0e5969b482ffdcf5674039784b3a2c24e33
- ext_skel での PHP 拡張の雛形生成時、[生成された config.m4 から dnl を削る](http://d.hatena.ne.jp/rti7743/20110212/1297535546)という工程が必要だったが、この工程をやらなくていいことになった

## jaybonci: Fix bug #65988: Zlib version check fails
- https://github.com/php/php-src/commit/c8a90606c186cc746b717777b4adb20a515e6afd
- include/zlib みたいな形で --with-zlib へインクルードディレクトリが与えられた際に zlib のバージョンチェックに失敗する問題の修正

## petk: [ci skip] Update NEWS
- https://github.com/php/php-src/commit/4d5edcb4ac8975c864c695e9d4e02e5e79c0f727
- ↑の zlib の修正を NEWS へ追加

## petk: Fix bug #76709: Minimal required zlib library is 1.2.0.4
- https://github.com/php/php-src/commit/a3e3d914edffc3128b67ba73ca7dc85c07aede43
- configure --help では zlib の 1.0.9 以上が必要となっていたが、実際には 1.2.0.4 以上が必要だったので文言修正
- あといくつか libz 表記のところを zlib 表記に置き換え

## petk: [ci skip] Update NEWS
- https://github.com/php/php-src/commit/935625f1b88c69ceecb2c391fd18a14b1be4b4f7
- ↑ の zlib のバージョン表記修正を NEWS に追記

## Fleshgrinder: [ci skip] Extended class naming rule
- https://github.com/php/php-src/commit/35cb353dd507590f0ff0b23528eb3d1e5575ecbb
- CODING_STANDARDS のクラスの命名規則について追記
- 去年に[受理された RFC](https://wiki.php.net/rfc/class-naming) に則ってて、[PR](https://github.com/php/php-src/pull/2552) は結構前に出てたやつ

## weltling: Update libmagic.patch [ci skip]
- https://github.com/php/php-src/commit/3082600326c2492ef3f24682a1eee0d1b5695c47
- [PHP マニュアルにも記載](http://php.net/manual/ja/fileinfo.installation.php)の通り、ext/fileinfo ではファイルの種類識別用に PHP 側で独自パッチをあてた [libmagic](https://linuxjm.osdn.jp/html/file/man3/libmagic.3.html) が使われている
- そのパッチ内で WIN64 の SOCKET を int 幅で受けないようにする、[一昨日の修正](https://qiita.com/sj-i/items/567ac38e5c496dc973e7#weltling-fix-possible-stack-buffer-overflow)と同様のものを入れたもよう

## めも
- なお Mac/FreeBSD では setlocale() が gettext() に反映されないので、マージされた修正と関係なく ext/gettext のテストはこける
- 事前に環境変数で LANG とかで設定しとくのは効く
- PHP 側を直すべきなのか gettext() 側を直すべきなのかはまだ確認してない