我的系统是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版开始,Intl扩展是否应该与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
您在安装时使用了intl的捆绑版本时指定了--enable-intl
,或者您可以通过PECL进行安装。 请参阅: http : //www.php.net/manual/en/intl.installation.php
apt-get install php5-intl
也可以。
将php5-intl
添加到您安装的东西列表中。
看起来它不是核心PHP5版本的一部分,尽管它是一个包含的选项,类似于php-apc
现在是PHP的标准部分,尽管你必须明确地安装它。
尝试在php.ini中取消注释扩展intl“extension = php_intl.dll”,应该删除“;” 之前“扩展”,然后重新启动服务器。