0

尝试在 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 

谁能告诉我如何升级它或解决问题的方法。

谢谢。

4

2 回答 2

0

您需要更新正则表达式库。它存在于 PHP 安装之外。

看起来这篇文章描述了如何验证这是问题以及如何解决问题:https ://chrisjean.com/2009/01/31/unicode-support-on-centos-52-with-php-and -pcre/

于 2015-02-05T21:40:10.887 回答
0

我真的帮不了你,但似乎 PHP(或 Apache?)正在使用它自己的 PCRE 库,而不一定是系统上安装的那个。

也许这个论坛条目中的最后一篇文章至少为您提供了一个起点。

我不是一个 drupie,但这个列表包含了我发现的关于 PCRE 和 UTF8 错误的最丰富的信息。

我的pcretesting -C输出说我安装了支持 UTF-8 的 6.6,但是 phpinfo() 输出证实了上面其他人所说的关于 apache 拥有自己的 PCRE 构建.. 我的是 5.3 的东西.. 并且它没有启用 utf8。我尝试从 Apache 源文件(我的:/usr/src/httpd-2.2.14/srclib/pcre)重新编译 PCRE,但永远无法让它工作。(Makefile 有一个 /build/* 的 ${top_srcdir},但该变量从未设置,因此它永远不会'make'd)无论如何......

我尝试了几件事,但以下终于奏效了...(Centos Distribution...pcre二进制文件在/usr/bin中,pcre lib文件在/usr/include中...反复试验给了我--with- pcre=/usr 配置如下)

  • 在我的 apache 源文件夹中(我的:/usr/src/httpd-2.2.14/)我做了一个 make clean
  • 查看了我上次 apache 编译生成的 config.log 文件: ... $ ./configure --enable-ssl --enable-dav --enable-so ...

  • 运行命令 ./configure --enable-ssl --enable-dav --enable-so --with-pcre=/usr

  • 然后制作 && 制作安装

在我之前遇到的同一点不再有 PCRE 错误。

于 2010-01-23T21:22:37.283 回答