php怎么远程连接oracle-php教程

资源魔 34 0

1、如下是基于 wampServer 的php 拜访oracle数据库的操作步骤:

第一步:让PHP支持OCI

起首,装置PHP的集成运转环境,网上有不少集成,我装置的是WampServer的(详细的装置办法也能够参考以前写的另外一篇文章),装置好后,从装置目次中找到php.ini文件,比方我内陆的门路是D:\wamp\bin\php\php5.3.3,将php.ini中的php_oci8.dll的;去掉,也就是把正文去掉,相称于能够应用php_oci8了。

1566379444444431.jpg

相干保举:《php教程》

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

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

w.jpg

第三步: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扩大,以是假如操作办法没错,我倡议进行重启。)

2、代码测试近程衔接 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的具体内容,更多请存眷资源魔其它相干文章!

标签: php 连接 php开发教程 php开发资料 php开发自学 oracle

抱歉,评论功能暂时关闭!