下面开始安装:

一:yum 安装

首先需要添加一个yum源。

# vi /etc/yum.repos.d/zeroc-ice-amzn.repo
写入:

[zeroc-ice]name=Ice 5 for Amazon Linux $releasever - $basearch

baseurl=http://www.zeroc.com/download/Ice/5/el6/$basearchenabled=1gpgcheck=1gpgkey=http://www.zeroc.com/download/RPM-GPG-KEY-zeroc-release

官网上说可以通过

# yum list ice* db53* mcpp-devel
查看安装包列表。真正的安装命令是

# yum install -y ice* db53* mcpp-devel
安装完成可以通过命令搜索文件所在路径:

#find / -name IcePHP.so

二:源码安装

我的PHP版本是5.4.23,对应安装的Ice版本为3.5.1。

下载Ice源

# cd /opt
# wget http://www.zeroc.com/download/Ice/3.5/Ice-3.5.1.tar.gz
# wget http://www.zeroc.com/download/Ice/3.5/ThirdParty-Sources-3.5.1.tar.gz
安装依赖库

yum -y install gcc gcc-c++ expat-devel bzip2 bzip2-devel
yum -y install openssl*

1. 安装ThirdParty-Sources

# tar xvf ThirdParty-Sources-3.5.1.tar.gz
# cd ThirdParty-Sources-3.5.1
# tar xvf mcpp-2.7.2.tar.gz
# cd mcpp-2.7.2
# patch -p0 < ../mcpp/patch.mcpp.2.7.2
# ./configure CFLAGS=-fPIC --enable-mcpplib --disable-shared
# make && make install
# cd ../

2. 安装BerkeleyDB

# tar zxf db-5.3.21.NC.tar.gz
# cd db-5.3.21.NC
# patch -p0 < ../db/patch.db.5.3.21
# cd build_unix
# ../dist/configure --prefix=/usr --enable-cxx
(说明:db的默认安装prefix路径是/usr/local/BerkeleyDB.5.3,需要改为/usr,否则make Ice时会找不到路径)

# make && make install

3. 安装Ice

# cd /opt
# tar xvf Ice-3.5.1.tar.gz
# cd Ice-3.5.1/cpp
# vi config/Make.tules(默认)
根据环境修改config/Make.rules文件(我这里的安装目录是/opt目录,是ICE默认配置的目录,所以不用修改。)

# make && make install
# cd ../
#
# cd php //安装PHP扩展
# vi config/Make.rules.php
PHP_HOME ?= /usr/local/php (修改为你php安装目录)

# make && make install
源码安装完成之后,会在当前目录生成IcePHP.so文件。

找到IcePHP.so文件后,将这个文件复制到php的扩展目录,然后在php.ini添加该扩展即可。
extension=IcePHP.so

启动PHP的时候如果遇到扩展错误:

PHP Startup: Unable to load dynamic library '/usr/local/server/php/lib/php/extensions/no-debug-non-zts-20100525/IcePHP.so' - libIce.so.35: cannot open shared object file: No such file or directory in Unknown on line 0

这个是因为没加载到Ice的so文件导致的,可以使用ldd命令查看IcePHP.so。

# ldd IcePHP.so
linux-vdso.so.1 => (0x00007fff6c1ff000)

libIce.so.35 => not found

libSlice.so.35 => not found

libIceUtil.so.35 => not found

libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fdc30e74000)

libm.so.6 => /lib64/libm.so.6 (0x00007fdc30bef000)

libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fdc309d9000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fdc307bc000)

libc.so.6 => /lib64/libc.so.6 (0x00007fdc30427000)

/lib64/ld-linux-x86-64.so.2 (0x00007fdc314a6000)

这里可以看到,libIce.so这几个文件没有查找到。

# export LD_LIBRARY_PATH=/opt/Ice-3.5.1/lib64
# ldd IcePHP.so

linux-vdso.so.1 => (0x00007fffcd5ff000)

libIce.so.35 => /opt/Ice-3.5.1/lib64/libIce.so.35 (0x00007fc9c20f6000)

libSlice.so.35 => /opt/Ice-3.5.1/lib64/libSlice.so.35 (0x00007fc9c1c76000)

libIceUtil.so.35 => /opt/Ice-3.5.1/lib64/libIceUtil.so.35 (0x00007fc9c19fd000)

libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fc9c16ed000)

libm.so.6 => /lib64/libm.so.6 (0x00007fc9c1468000)

libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc9c1252000)

libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc9c1035000)

libc.so.6 => /lib64/libc.so.6 (0x00007fc9c0ca0000)

libbz2.so.1 => /lib64/libbz2.so.1 (0x00007fc9c0a8f000)

libdl.so.2 => /lib64/libdl.so.2 (0x00007fc9c088b000)

librt.so.1 => /lib64/librt.so.1 (0x00007fc9c0682000)

/lib64/ld-linux-x86-64.so.2 (0x00007fc9c2d29000)

2014-10-28添加源码安装。

安装icephp 记的更多相关文章

  1. Debian - 安装随记

    为什么要突然换个操作系统? 之前使用的是Lubuntu,可见硬件非常糟糕. 更糟糕的是Lubuntu被玩坏了,很多程序不能正常运行. 于是打算换Debian + XFCE. 随手记录一下遇到的一些坑, ...

  2. gitlab安装随记

    gitlab安装 配置yum源 sudo vim /etc/yum.repos.d/gitlab-ce.repo 按照网上别人的例子,修改为清华的源 [gitlab-ce] name=Gitlab C ...

  3. Centos 7 mysql 安装使用记

    某次把美团云1G 1核 centos 7 装到死机,明白了源码编译安装mysql是个大坑,遂绕路到其他大道. 安装命令 wget http://dev.mysql.com/get/mysql-comm ...

  4. 安装LMS记

    LMS学习管理系统,即英文Learning Management System的缩写.中文常用别名:在线学习系统. 尝试安装一款LMS,并进行二次开发. Moodle 首先想到的是Moodle.Moo ...

  5. CentOS上oracle 11g R2数据库安装折腾记

    1.虚拟机上centos镜像的获取.这里推荐网易镜像站中的CentOS7版本(其他开源镜像站亦可).这里给出链接: http://mirrors.163.com/centos/7.3.1611/iso ...

  6. mac上安装brew----笔记

    一.mac 终端下,执行以下命令,即可安装brew: 介绍brew:是Mac下的一款包管理工具brew [brew install 软件],类似与centos里面的 yum[yum install 软 ...

  7. VMware系统运维(五)安装SSO vCenter Single Sign-On

    1.前面我们做了很多准备工作,安装了很多需求部件,这时候再安装,必备条件无,这是简单安装,即自动安装,点击"安装". 2.简单安装,提示内存不足,需要4GB以上,加内存,重新安装. ...

  8. C# Windows服务安装出现System.Security.SecurityException异常解决办法

    我把注册windows服务所用的安装及启用服务命令写到了bat可执行文件(名称为install.bat)中,如下所示: %SystemRoot%\Microsoft.NET\Framework\v4. ...

  9. CentOS7.3利用kubeadm安装kubernetes1.7.3完整版(官方文档填坑篇)

    安装前记: 近来容器对企业来说已经不是什么陌生的概念,Kubernetes作为Google开源的容器运行平台,受到了大家的热捧.搭建一套完整的kubernetes平台,也成为试用这套平台必须迈过的坎儿 ...

随机推荐

  1. 威锋网(Weiphone) BBS排序插件

    body,td,p { // 这对大括号里描述网页的背景 margin-left:40px; margin-right:40px; font-size: 10pt; } div.vim { width ...

  2. BZOJ 1055 玩具取名(区间DP)

    很显然的区间DP,定义dp[i][j][k], 如果dp[i][j][k]=1表示字符串[i,j]可以组成k字符. # include <cstdio> # include <cst ...

  3. shell脚本学习—Shell执行脚本

    Shell作用是解释执行用户的命令,用户输入一条命令,Shell就解释执行这一条,这种方式称为交互式,但还有另一种执行命令的方式称为批处理方式,用户事先写一个Shell脚本,Shell可以一次把这些命 ...

  4. (转)python 搭建libsvm方法。python版本和libsvm版本匹配很重要!

    <集体智慧编程>关于婚介数据集的SVM分类 转自:http://muilpin.blog.163.com/blog/static/165382936201131875249123/   作 ...

  5. A表数据插入到B表(表结构不一致)

    D_A  有E\F\H 3字段 D_B 有 A\B\C\D\E\ID 字段 将 D_B 个别字段插入到D_A  表 INSERT INTO  D_A(E,F,H) select B,A,ID from ...

  6. 【刷题】BZOJ 4830 [Hnoi2017]抛硬币

    Description 小A和小B是一对好朋友,他们经常一起愉快的玩耍.最近小B沉迷于**师手游,天天刷本,根本无心搞学习.但是已经入坑了几个月,却一次都没有抽到SSR,让他非常怀疑人生.勤勉的小A为 ...

  7. 2018牛客多校第五场 E.room

    题意: 一共有n个宿舍,每个宿舍有4个人.给出第一年的人员分布和第二年的人员分布,问至少有多少人需要移动. 题解: 对于第一年的每个宿舍,向今年的每种组合连边.流量为1,费用为(4 - 组合中已在该宿 ...

  8. POJ3907:Build Your Home——题解

    http://poj.org/problem?id=3907 题目大意:求多边形面积,结果四舍五入. ———————————————————— 多边形面积公式板子题. #include<cstd ...

  9. lighttpd - 配置文件

    转载其他网站,收藏查看! 配置文件lighttpd.conf参数详细说明的链接和选译 发表于 2010年12月22日 http://redmine.lighttpd.net/projects/ligh ...

  10. mysql的时间函数整理

      转:这里总结的非常齐全: http://fengbin2005.iteye.com/blog/1999763   Mysql时间函数 对于每个类型拥有的值范围以及并且指定日期何时间值的有效格式的描 ...