尝试在 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
在过去两天里,我尝试将我的 PHP 从 5.1 升级到 5.3,但仍然出现相同的错误。对我来说,问题是 phpinfo() 中 PHP 的 PCRE 模块显示是 2004 年 9 月的。下面是实际的行
PCRE Library Version 5.0 13-Sep-2004
谁能告诉我如何升级它或者该问题的解决方案是什么。
谢谢。
答案1
我为我的系统重新编译了 PCRE,以包含 PCRE UTF-8
我们目前使用 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 不太好的错误报告),并且经过了广泛的测试,因为它被几个不同的人用来运行不同的应用程序。