PCRE の UTF-8 サポートがないサーバーでエラーが発生する
2016年7月1日 at 19:02
みなさんに、共有のためにここに書き残しておきます。
concrete5 のバグというより古いサーバーであるから起こったバグです。
concrete5 のファイルマネージャーにアクセスした際などに下記のエラー画面が発生します。
preg_replace(): Compilation failed: support for \P, \p, and \X has not been compiled at offset 1
これは2010年7月以前の CentOS5 / RHLE5 で PCRE の UTF-8 サポート付きでビルドされていなかったことで、 UTF-8 エンコーディングを使った preg_replace() ができないため、上記のエラーが発生します。
解決策は:
・ PCRE の UTF-8 サポート付きでビルド / コンパイルし直す。
・サーバーを乗り換える。
です。
参考記事
・Unicode Support on CentOS 5.2 with PHP and PCRE
http://chrisjean.com/unicode-support-on-centos-52-with-php-and-pcre/
・PCREはUnicode文字プロパティをサポートするとは限らない
http://d.hatena.ne.jp/hnw/20090628
タグ:
Your post has been saved and will be published after approval by the forum moderator.