CentOS 5 に Kohana ベースのプロジェクトをデプロイしようとしています。PHP 5.3.1 をインストールしましたが、次のエラーが引き続き発生します。
Warning: preg_match() [function.preg-match]: Compilation failed: this version of PCRE is not compiled with PCRE_UTF8 support at offset 0 in /usr/local/apache2/htdocs/icarus/system/core/utf8.php on line 30
Fatal error: PCRE has not been compiled with UTF-8 support. See PCRE Pattern Modifiers for more information. This application cannot be run without UTF-8 support. in /usr/local/apache2/htdocs/icarus/system/core/utf8.php on line 38
過去2日間、PHPを5.1から5.3にアップグレードしてみましたが、まだ同じエラーが出ています。私の考えでは、問題はphpinfo()のPHPのPCREモジュールが2004年9月のものだということです。以下は実際の行です。
PCRE Library Version 5.0 13-Sep-2004
アップグレード方法や問題の解決策を教えていただけますか。
ありがとう。
答え1
PCRE UTF-8を含めるようにPCREを再コンパイルしました
現在は PHP 5.2.6 を使用していますが、Kohana が失敗する原因は pcre rpm です。
[root@v1e-web1 files]# cat /etc/redhat-release
CentOS release 5.4 (Final)
[root@v1e-web1 files]# uname -a
Linux v1e-web1 2.6.18-164.el5 #1 SMP Thu Sep 3 03:33:56 EDT 2009 i686 i686 i386 GNU/Linux
http://digirev.us/files/RPMS/pcre/
おそらくそれらのファイルが役に立つでしょう。
答え2
CentOS 5インストールのPHPバージョンをアップグレードする以外の別のオプション(これはご覧のとおり面倒です)は、私のCentOS 5 用 Kohana のビルド(テキストの内容に関係なく、リポジトリは最新の状態に保たれ、現在のバージョンは現在の Kohana 安定版 3.0.8 バージョンです)。
Kohana ソフトウェア スタックは、このディストリビューションでパッチが適用され、PHP 5.1.6 を搭載した標準の CentOS 5 ですぐに使用できます。機能の損失はほとんどありません (主な問題は、PHP 5.1 があまり得意ではないエラー レポートです)。また、さまざまなアプリケーションを実行する複数のユーザーが使用しているため、広範囲にテストされています。