hnwの日記

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にバグレポを投げておきました。