linx下安装php的oci的扩展

公司刚来到新公司,公司让我搞网站,正好自学了段时间段的php,但是最后蛋疼的是要部署在linux,也是因为连接的oracle,就是很蛋疼的感觉,你懂得,在win下没有问题,但是在linux装oci8扩展折腾了好多时间,然后连接oracle又折腾了好久。

好,话不多说,下面来详细的步骤。

php也可以使用pdo访问oracle数据库,但还是需要安装客户端。

开始参考的张宴的博客,但是有问题,折腾了好久。

首先到oracle官网的这个页面下载相关的文件,注意要连数据库服务器的版本,一定要对应,否则安装成功也会连不上,同时也要区分32位、64位服务器,比如我要连的数据库服务器是oracle10.2.0.4,64位主机,那么我要下载下面三个文件:

oracle-instantclient-basic-10.2.0.4-1.x86_64.rpm

oracle-instantclient-devel-10.2.0.4-1.x86_64.rpm

oracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm

用以下命令安装

rpm-ivhoracle-instantclient-basic-10.2.0.4-1.x86_64.rpmoracle-instantclient-devel-10.2.0.4-1.x86_64.rpmoracle-instantclient-sqlplus-10.2.0.4-1.x86_64.rpm

(当然这里小小的鄙视下oralce需要注册才行)

如果是redhat并且可以联网

yuminstalllibaio

wgethttp://pecl.php.net/get/oci8-1.3.5.tgz

因为我的是centos又不能联网所以就下载了

然后执行

tarzxvfoci8-1.3.5.tgz

cdoci8-1.3.5/

/home/local/php/bin/phpizeCFLAGS="-I/usr/include/oracle/10.2.0.4/client64/"CXXFLAGS="-I/usr/include/oracle/10.2.0.4/client64/"

./configure--with-php-config=/home/local/php/bin/php-config--with-oci8=/usr/lib/oracle/10.2.0.4/client64/

上面橙色的表示php的安装路径,红色的表示oracle路径,oracle路径会因为版本的不同文件夹名称有所不同,要到相应目录查看一下,确认路径正确。

然后执行make,如果报错,就执行

./configure--with-php-config=/home/renjun/php/bin/php-config--with-oci8=instantclient,/usr/lib/oracle/10.2.0.4/client64/lib/

成功后会提示你执行maketest,那就执行吧,可能会出现一堆的fail,但是不要紧。继续makeinstall。

修改php.ini文件,添加

extension="oci8.so"

然后重启nginx,用php-m如果有oci8说明成功了

就算是安装成功了也不行,最后在网上看到点东西,不得不修改config.php(用的thinkphp)

'TMPL_L_DELIM'=>'<{',//修改左定界符

'TMPL_R_DELIM'=>'}>',//修改右定界符

'DB_TYPE'=>'Oracle',//数据库类型

'DB_HOST'=>'210.51.13.20',//服务器地址

'DB_NAME'=>'(DESCRIPTION=

(ADDRESS_LIST=

(ADDRESS=(PROTOCOL=TCP)(HOST=210.51.13.20)(PORT=1521))

)

(CONNECT_DATA=

(SERVICE_NAME=xxp)

))',//数据库名,

'DB_USER'=>'yewen',//用户名

'DB_PWD'=>'pawxx7865ed',//密码

'DB_PORT'=>'1521',//端口

'DB_PREFIX'=>'YW_',//数据库表前缀

'SHOW_PAGE_TRACE'=>true,//开启页面Trace

'URL_HTML_SUFFIX'=>'html',

'URL_MODEL'=>2

);

这样就行了,最后连接成功了。

相关推荐