1

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

Apache错误日志是:

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

4

1 回答 1

4

出于显而易见的原因,函数名称必须是唯一的。

(推荐的)扩展intl提供了功能idn_to_asciiidn_to_utf8(以及其他有用的功能),以及 pecl 扩展idnsource

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

我该如何解决?

你需要做的是卸载你的 idn 扩展

apt-get remove php-pecl-idn

或(取决于它是如何安装的)

pecl uninstall idn

或简单地在您的配置中评论扩展名

; extension=idn.so

然后重新启动你的 apache

于 2012-11-28T19:19:50.383 回答