安装icephp 记
下面開始安裝:
一: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
?
官網(wǎng)上說可以通過
# yum list ice* db53* mcpp-devel
查看安裝包列表。真正的安裝命令是
# yum install -y ice* db53* mcpp-devel
安裝完成可以通過命令搜索文件所在路徑:
#find / -name IcePHP.so
二:源碼安裝
我的PHP版本是5.4.23,對應(yīng)安裝的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(默認)
根據(jù)環(huán)境修改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
源碼安裝完成之后,會在當(dāng)前目錄生成IcePHP.so文件。
?
找到IcePHP.so文件后,將這個文件復(fù)制到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文件導(dǎo)致的,可以使用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添加源碼安裝。
來源:https://www.cnblogs.com/a-xu/p/5682703.html
總結(jié)
以上是生活随笔為你收集整理的安装icephp 记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 有没有什么美食可以简单易学又很美味的?
- 下一篇: 豌豆发芽后还能吃吗