再会!
我有 Centos 5.0,需要安装 ICU 4.0 或更高版本才能安装 intl 扩展。系统有 ICU 3.6,所以我已经找到了一种方法来做到这一点。随后是这篇文章http://www.orocrm.com/forums/topic/centos-6-4-icu-installation-via-compilation我安装了 intl 扩展,但在尝试启动 Apache 时出错:
启动 httpd:/etc/httpd/conf/extra/httpd-directories.conf 第 10 行的语法错误:无效命令 'Order',可能拼写错误或由未包含在服务器配置中的模块定义
所以我们看到 httpd.conf 中没有启用某些模块。但是哪个?是否有一些命令可以查看 conf 中未启用哪些模块?我遵循的指示:
As root:
# We start to uninstall default php-intl wich is compiled with ICU 42 (need at least 49)
yum remove php-intl
yum -y install php-devel php-pear
cd /root
mkdir src
cd src
# Download icu4c source
wget http://download.icu-project.org/files/icu4c/51.2/icu4c-51_2-src.tgz
tar zxf icu4c-51_2-src.tgz
cd icu/source
# Compiling and installing in /opt/icu5c-51_2 folder
./configure --prefix=/opt/icu5c-51_2 && make && make install
# Compiling PHP intl extension via pecl
pecl install intl
downloading intl-2.0.1.tgz ...
Starting to download intl-2.0.1.tgz (149,430 bytes)
.................................done: 149,430 bytes
111 source files, building
running: phpize
Configuring for:
PHP Api Version: 20100412
Zend Module Api No: 20100525
Zend Extension Api No: 220100525
Specify where ICU libraries and headers can be found [DEFAULT] : /opt/icu5c-51_2
# Create icu.conf file in /etc/ld.so.conf.d/ with the content:
/opt/icu5c-51_2/lib/
# Run
ldconfig
# Edit /etc/php.ini add ~ line 937 the line
extension=intl.so
#Then restart apache
service httpd restart