10

我的系统是 Ubuntu 12.04,PHP 5.3,我正在尝试运行一些基本的 Intl 代码,如下所示:

<?php
$coll  = collator_create('en_US');
$result = collator_compare($coll, "string#1", "string#2");

它输出

PHP Fatal error:  Call to undefined function collator_create()

自 5.3 版以来,国际扩展不应该与 PHP 捆绑在一起吗?

PHP是通过apt-get这个命令行安装的(我不使用Apache):

apt-get install php5 php5-cli php5-mysql php5-cgi php5-fpm php5-curl php-apc php5-memcache php5-memcached php5-common php5-gd php-xml-parser php-pear php5-imap php5-mcrypt php5-xdebug php5-suhosin

这就是php -v产生的结果:

PHP 5.3.10-1ubuntu3.5 with Suhosin-Patch (cli) (built: Jan 18 2013 23:40:19) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
    with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans
    with Suhosin v0.9.33, Copyright (c) 2007-2012, by SektionEins GmbH
4

3 回答 3

27

您在安装时已指定--enable-intl使用捆绑版本的 intl,或者您可以通过 PECL 安装它。见:http ://www.php.net/manual/en/intl.installation.php

apt-get install php5-intl也将工作。

于 2013-02-21T13:23:59.043 回答
2

添加php5-intl到您安装的内容列表中。

看起来它不是核心 PHP5 版本的一部分,尽管它是一个选项,类似于php-apc现在 PHP 的标准部分,尽管您必须显式安装它。

于 2013-02-21T13:28:18.913 回答
-4

尝试在 php.ini 中取消注释 extension intl "extension = php_intl.dll",应该删除 ";" 在“扩展”之前,然后重新启动服务器。

于 2013-02-21T13:21:00.277 回答