美好的一天!
我有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:第10行的语法错误 /etc/httpd/conf/extra/httpd-directories.conf:命令'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