1.下载下面几个包,然后rpm命令安装
- oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
- oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
- oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
2. echo "/usr/lib/oracle/12.1/client64/lib" > /etc/ld.so.conf.d/oracle_client.conf
3. /sbin/ldconfig
4.wget http://pecl.php.net/get/oci8-2.0.10.tgz
5.tar -xf oci8-2.0.10.tgz
6.cd oci8-2.0.10
7.phpize
8../configure --with-oci8=shared,instantclient,/usr/lib/oracle/12.1/client64/lib --with-php-config=(自己的php-config目录#不知道就find / -name 'php-config' 检索一下)
9.make & make install 此时看好最后提示的路径,类似这种/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212,
10.将进入上面这个目录,查看oci8.so生成,生成了就进入php.ini 加上extension=oci8.so
11.php -m 看下有没有添加成功
12.service nginx restart
service php-fpm restart //必须执行,不然连不上
13.
$conn = oci_connect('apple','abc123','localhost/orcl'); if($conn!=false) { echo "连接成功".'<br/>'; if(OCILogOff($dbconn)==true) { echo "关闭连接成功!".'<br/>';// } } else { echo "连接失败".'<br/>'; }
附上 通用查询代码示例:
function do_query($query,$binds="",$delay=0) { global $conn; $parse=@ociparse($conn,$query); if(!$parse) { $err=ocierror($conn); $errmsg=explode(":",$err[message]); error(addslashes($errmsg[1])); } if($binds!="" && is_array($binds)) { //while(list($key,$val)=each($binds)) { foreach($binds as $key=>$val){ if(is_numeric($key)) { $key=$val; $val=substr($val,1); } if(ereg("^(.*)=>(.*)$",$val,$newval)) { $bl=$newval[1];$tmp_lx=$newval[2]; global $$bl; if($tmp_lx=="OCI_B_CLOB") { $$bl=OCINewDescriptor($conn,OCI_D_LOB); ocibindbyname($parse,$key,$$bl,-1,OCI_B_CLOB); } } else { global $$val; if($$val=="") { $length=32;} else { $length=-1; } ocibindbyname($parse,$key,$$val,$length); $outval.="{$key}:".$$val.";"; } } } if($delay) { $exe=ociexecute($parse,OCI_DEFAULT); } else { $exe=ociexecute($parse); } if(!$exe) { $err=ocierror($parse); $errmsg=explode(":",$err[message]); echo $outval; //error(addslashes($errmsg[1])); echo $errmsg[1]."<br>".$query;exit; //error(addslashes($err[message])); } return $parse; } $query="select * from VIEW_TEST"; $binds=array(); $selcet=do_query($query,$binds,1); ocifetchinto($selcet,$row,OCI_ASSOC); print_r($row);