PHP intl扩展不起作用

时间:2012-11-28 19:00:35

标签: php apache debian intl

我在Debian Squeeze上通过PECL安装了intl扩展。但是当我将extension=intl.so放入我的php.ini文件并重新启动Apache时,它会将CP加载到大约99%并且没有任何效果。使服务器再次工作的唯一方法是从php.ini文件中删除extension=intl.so行。为什么呢?

Apache错误日志是:

  

[Wed Nov 28 23:09:59 2012] [notice]启用suEXEC机制(包装器:   / usr / lib / apache2 / suexec)PHP警告:函数注册失败 -   重复的名称 - 第0行的未知中的idn_to_ascii PHP警告:   功能注册失败 - 重复名称 - 未知中的idn_to_utf8   第0行PHP警告:idn:无法注册函数,无法   在第0行加载未知

1 个答案:

答案 0 :(得分:4)

由于显而易见的原因,

函数名称必须是唯一的。

(推荐)扩展程序intl提供函数idn_to_asciiidn_to_utf8(以及其他有用的函数),以及pecl扩展idn({{3 }})

自2009年以来,idn处于(早期)测试阶段,不再发展。

如何修复?

您要做的就是卸载您的idn扩展程序

apt-get remove php-pecl-idn

或(取决于如何安装)

pecl uninstall idn

或只是在配置中注释扩展程序

; extension=idn.so

然后重启你的apache