MacOSX上のPHP 7.0.0RC5+OPcacheでエラーが出る件の対策
MacOSX環境でPHP 7.0.0RC5をビルドしてphpコマンドを動かしたところ、下記のようなエラーが出ました。
dyld: lazy symbol binding failed: Symbol not found: _accel_move_code_to_huge_pages Referenced from: /Users/hnw/.phpenv/versions/7.0.0RC5/lib/php/extensions/no-debug-non-zts-20151012/opcache.so Expected in: flat namespace dyld: Symbol not found: _accel_move_code_to_huge_pages Referenced from: /Users/hnw/.phpenv/versions/7.0.0RC5/lib/php/extensions/no-debug-non-zts-20151012/opcache.so Expected in: flat namespace
RC3でOPcacheに「huge pages」をサポートする機能が入ったんですが、これに関連したバグがRC4とRC5で出てるみたいですね。とりあえず configure オプションに --disable-huge-code-pages をつければマトモに動くようになります。
思ったこと
RCフェーズになったら新フィーチャー入らない=バグもほとんど入らないと思って油断していましたが、案外RCでも細かい機能追加は入ってるんですね…。そんなわけで、みんな最新RCをどんどん試そう!
ちなみに本件はbugs.php.netにバグレポを投げておきました。