先日CakePHPのバグレポートをしたのでご報告。

#3821 Hash::extract() not working on CentOS 5 - CakePHP - cakephp

※この話はCakePHP2.2 - 2.3.4までが該当します。次バージョン(2.3.5)以降は修正が適用されるため大丈夫です。

CakePHP 2.2から追加されたHashクラスのextractメソッドは、RHEL5/CentOS5系の標準パッケージでインストールされたPHPでは利用できません。

理由は、PCREライブラリのバージョンが6.6と古いためです。

これを修正するには、lib/Cake/Utility/Hash.phpの173行目を変更します。パッチは以下を参照してください。

Make named capture groups compatible with older PCRE versions. · b533c1b · cakephp/cakephp

CentOSはクソという話になっています ;)

古いpcreは色々問題があったりするので、PCRE自体をバージョンアップするかphpにバンドルされているものを使用するのがいいでしょうね。

remiレポジトリのphpパッケージはPCREが新しいものになってました。