设为首页 收藏本站
查看: 1074|回复: 0

[经验分享] linx下安装php的oci的扩展

[复制链接]

尚未签到

发表于 2017-4-5 10:43:46 | 显示全部楼层 |阅读模式
公司刚来到新公司,公司让我搞网站,正好自学了段时间段的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
);
这样就行了,最后连接成功了。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-360474-1-1.html 上篇帖子: PHP数组显示 phpinfo, ini, extensions等信息 下篇帖子: PHP 中global 和$GLOBALS[]的使用和区别
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表