Ice是ZeroC公司开发的新一代的面向对象的中间件,近日在研究服务器配置时接触到了,
费了好多心思,终于配置成功了,拿出来和大家分享。
1.从ZeroC和php.net上下载相关软件包
Ice-3.2.0.tar.gz(Ice for C++ 3.2.0 development kit)
IcePHP-3.2.0.tar.gz(Ice extension for PHP)
php-5.2.1.tar.gz
2.减压各个软件包
mv Ice-3.2.0.tar.gz /usr/local/src
mv IcePHP-3.2.0.tar.gz /usr/local/src
mv php-5.2.1.tar.gz /usr/local/src
tar zxf Ice-3.2.0.tar.gz
tar zxf IcePHP-3.2.0.tar.gz
tar zxf php-5.2.1.tar.gz
3.安装Ice for C++ 3.2.0
cd /usr/local/src/Ice-3.2.0
编辑文件config/Make.rules,修改一些参数(可以不修改,按默认值安装)
make && make install
一般这一步不会出问题的,但是编译时间较长,
如果出问题,一般是缺少一些库,参照出错信息安装相应的库。
4.安装PHP
cd /usr/local/src/php-5.2.1
./configure \
--prefix=/opt/php
--with-apxs2=/opt/apache/bin/apxs \
--disable-debug \
--enable-ftp \
--enable-inline-optimization \
--enable-magic-quotes \
--enable-mbstring \
--enable-mm=shared \
--enable-safe-mode \
--enable-track-vars \
--enable-trans-sid \
--enable-wddx=shared \
--enable-xml \
--with-dom \
--with-gd \
--with-gettext \
--with-mysql=/opt/mysql \
--with-regex=system \
--with-xml \
--with-zlib-dir=/usr/lib
注意如果你编译PHP时要指定apache和MySQL的路径时要修改上面的相关参数。
make && make install
cp php.ini-dist /opt/php/lib/php.ini
ln -s /opt/php/lib/php.ini /etc/php.ini
5.安装IcePHP
在编译IcePHP时要加入环境变量:ICE_HOME和PHP_HOME
cd /usr/local/src/IcePHP-3.2.0
编辑文件config/Make.rules,修改一些参数(可以不修改,按默认值安装)
make
6.繁琐的配置
编辑php.ini文件,加入如下内容:
extension = IcePHP.so
ice.profiles="/opt/php/etc/ice.profiles"
执行这个命令php -i | grep extension_dir
把IcePHP编译好后生成的IcePHP.so
(在/usr/local/src/IcePHP-3.2.0/lib)拷贝到这个命令所输出的目录下
执行php -m 命令查看IcePHP模块有没有被php加载
在PHP的安装目录下建立如下文件和目录
/opt/php/etc/ice.slices/ 这个目录下存放.ice文件
/opt/php/etc/ice.profiles 这个文件是.ice文件的配置文件
7.一个测试的例子
在安装Ice的时候有一个hello demo把它编译好了执行server文件
把Hello.ice拷贝到/opt/php/etc/ice.slices/下
在/opt/php/etc/ice.profiles中添加内容:
[Profile1]
ice.slice=/opt/php/etc/ice.slices/Hello.ice
执行IcePHP中的hello demo
呵呵,这样就可以了