ubuntu php连接oracle数据库
转载请注明来源:https://www.cnblogs.com/hookjc/
需要将数据库从mysql迁移到oracle。下了个oracle xe在ubuntu下折腾了好久,都只能启动1521的侦听端口,而数据库起不起来。无奈之下切换到windows,使用官网的安装包,顺利装上。
下一步就是需要php链接到oracle。这个必须用linux,没办法,硬上吧。折腾了许久,记录备忘。
1.需要instantclient-basic-linux32-11.2.0.2.0.zip和instantclient-sdk-linux32-11.2.0.2.0.zip
从http://www.oracle.com/technetwork/topics/linuxsoft-082809.html下载,分别unzip,自动会都解压到同一个目录instantclient_11_2下。
进入instantclient_11_2,运行如下命令
ln -s libclntsh.so.11.1 libclntsh.so 建立符号链接
2.需要安装php的oci8扩展
i.源码安装的php
进入../php-5.3.3/ext/oci8
phpize 生成 configure文件
./configure --with-oci8=instantclient,/path/you/unzip/instantclient_11_2 生成 makefile
make
make install
ii.ubuntu的安装
apt-get install php-pear --为了有pecl 可用
apt-get install php5-dev --为了有phpize可用
sudo pecl install oci8 当然也可以下载oci8然后直接sudo pecl ./oci8-1.4.5.tgz
中间询问instantclient路径的时候输入instantclient,/path/you/unzip/instantclient_11_2即可
3.启用php扩展
修改php.ini ,增加
extension=/usr/lib/php5/20090626+lfs/oci8.so -- 这个路径随便配了,总之能指向刚才编译出来的oci8.so就对了
4.让oci8.so能顺利找到oracle 的 client.so
vim /etc/ld.so.conf
加入/path/you/unzip/instantclient_11_2
执行ldconfig
至此安装成功, 然后有apache的重启apache。