linx下安装php的oci的扩展_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > linx下安装php的oci的扩展

linx下安装php的oci的扩展

 2014/5/23 11:10:02  冰水凝霜  程序员俱乐部  我要评论(0)
  • 摘要:公司刚来到新公司,公司让我搞网站,正好自学了段时间段的php,但是最后蛋疼的是要部署在linux,也是因为连接的oracle,就是很蛋疼的感觉,你懂得,在win下没有问题,但是在linux装oci8扩展折腾了好多时间,然后连接oracle又折腾了好久。好,话不多说,下面来详细的步骤。php也可以使用pdo访问oracle数据库,但还是需要安装客户端。开始参考的张宴的博客,但是有问题,折腾了好久。首先到oracle官网的这个页面下载相关的文件,注意要连数据库服务器的版本,一定要对应
  • 标签:PHP 安装
公司刚来到新公司,公司让我搞网站,正好自学了段时间段的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 -ivh 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
(当然这里小小的鄙视下oralce 需要注册才行)
如果是redhat 并且可以联网
yum install libaio
wget http://pecl.php.net/get/oci8-1.3.5.tgz
因为我的是centos 又不能联网所以就下载了
然后执行
tar zxvf oci8-1.3.5.tgz
cd oci8-1.3.5/
/home/local/php/bin/phpize CFLAGS="-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/
成功后会提示你执行make test,那就执行吧,可能会出现一堆的fail,但是不要紧。继续make install。
修改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
);
这样就行了,最后连接成功了。
上一篇: Facebook将推隐私检查工具:避免信息过度分享 下一篇: 没有下一篇了!
发表评论
用户名: 匿名