旗下导航:搜·么
当前位置:网站首页 > PHP教程 > 正文

php怎样长途衔接oracle【php教程】

作者:搜搜PHP网发布时间:2019-11-26分类:PHP教程浏览:128


导读:一、以下是基于wampServer的php接见oracle数据库的操纵步骤:第一步:让PHP支撑OCI起首,装置PHP的集成运转环境,网上有许多集成,我装置的...

一、以下是基于 wampServer 的php 接见oracle数据库的操纵步骤:

第一步:让PHP支撑OCI

起首,装置PHP的集成运转环境,网上有许多集成,我装置的是WampServer的(细致的装置要领也能够参考之前写的另一篇文章),装置好后,从装置目次中找到php.ini文件,比方我当地的途径是D:\wamp\bin\php\php5.3.3,将php.ini中的php_oci8.dll的;去掉,也就是把解释去掉,相当于能够运用php_oci8了。

相干引荐:《php教程》

第二步:然后wampserver运转后,将php>php extentions中将php_oci8打上勾

【其他的集成环境实在也是能够的,比方phpStudy,我们能够直接从php扩大的选项里打勾对应的】。

第三步:oracle 数据库文件设置

关于装置有Oracle客户端的PC机,能够在Oracle装置设置文件,tnsnames.ora文件,此文件途径是装置oracle的途径,比方我本机的是

F:\oracle\product\10.2.0\client_1\NETWORK\ADMIN ,所连的192.168.1.198数据库,个中的设置概况以下(假如显现 127.0.0.1 默以为本机):

(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST =  192.168.1.198)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

第四步:检测oci8是不是设置胜利

1.平常状况下,翻开localhost即能显现 phpinfo.php界面,内里即为 php 信息。可采用 “Ctrl+F”搜刮“oci”,检察是不是有对应的oci模块,当然有一点php基本的完全能够直接接见本身编写的文件,记得内里到场“echo phpinfo();”即可。

2.不要愉快太早,走到这一步,最少我是查不到的对应信息的,这时刻能够根据网上的一些发起,把php的ext目次下的php_oci8.dll拷到system32目次下

3.末了发起重启效劳,最好是重启电脑(我在测试时发明,重启效劳没用,有一次是无意中 革新出了oci扩大,所以假如操纵要领没错,我发起举行重启。)

二、代码测试长途衔接 orcal 数据库(发起可用本身的oracle客户端试着是不是能衔接对方的效劳端,以保证操纵的胜利率)

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2015/12/7
 * Time: 16:25
 */
echo 'ff';
//举行衔接数据库的参数设置
$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.198)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl)))";
//phpinfo();
$conn = oci_connect('scott','tiger',$dbstr);//假如去掉末了一个参数或许为“ ”,默许衔接本机
$stmt = oci_parse($conn, "select * from mono");
oci_execute($stmt);
$nrows = oci_fetch_all($stmt, $results);
if ($nrows > 0) {
echo "<table border=\"1\">\n";
 echo "<tr>\n";
 foreach ($results as $key => $val) {
echo "<th>$key</th>\n";
 }
echo "</tr>\n";
 for ($i = 0; $i < $nrows; $i++) {
echo "<tr>\n";
 foreach ($results as $data) {
echo "<td>$data[$i]</td>\n";
 }
echo "</tr>\n";
 }
echo "</table>\n";
} else {
echo "No data found<br />\n";
}
echo " $nrows  Records Selected<br />\n";
oci_free_statement($stmt);
oci_close($conn);
?>

(参考网友的一点申明)

两种体式格局和oracle数据库竖立链接:

1.$conn = oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL =TCP)(HOST=192.168.1.198)(PORT = 1521))
(CONNECT_DATA =(SID=orcl)))");
2.$conn = oci_connect('username','password','192.168.1.198/orcl');

有的时刻第一种体式格局不可,运用第二种,内里的几个参数分别是用户名、暗码、oracle效劳地点,个中orcl是效劳名(但在我的机械上,后者无法接见)

别的供应一种简朴的测试代码,相对而言,只是测试衔接状况,更加轻易:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>php语句结束符</title>
</head>
<body>
<?php
$dbstr ="(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.11.102)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(INSTANCE_NAME = orcl)))";
$dbconn=oci_connect('scott','tiger',$dbstr);
if($dbconn!=false)
{
    echo "衔接胜利".'<br/>';
    if(OCILogOff($dbconn)==true)
    {
        echo "封闭衔接胜利!".'<br/>';//
    }
}
else
{
    echo "衔接失利".'<br/>';
}
?>
</body>
</html>

总结提示:

使你的php支撑oracle,根据以下步骤即可:

1.装置php环境,找一下appserv或许xampp,一键装置,很轻易。

2.把php的ext目次下的php_oci8.dll拷到system32目次下。

3.修正php.ini文件中的设置,去掉 ;extention = php_oci8.dll,去掉前面的分号。

4.重启apache。

注重:

1.有时刻你并不会注重到的一点失误解糟蹋许多时候,我还要提示的是,请记得翻开oracle的效劳监听!!

2.请记得作为效劳端的PC机,要封闭防火墙!!

3.apache的设置文件一样主要,修正httpd.conf文件,Deny——>Allow

<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
 #    Deny from all
     Allow from all
 #许可一切接见
     Satisfy all
</Directory>
<Directory />
...
...
 #   Require local
 Options Indexes FollowSymLinks
 #   onlineoffline tag - don't remove
     Order Deny,Allow
     Allow from all
 #   Require local
</Directory>

以上就是php怎样长途衔接oracle的细致内容,更多请关注ki4网别的相干文章!

标签:php连接oracle