主頁 > 知識庫 > PHP遠程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法圖文詳解

PHP遠程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法圖文詳解

熱門標簽:海南人工外呼系統(tǒng)有效果嗎 七魚外呼系統(tǒng)停用嗎 保定crm外呼系統(tǒng)運營商 抖音有個地圖標注是什么意思 地下城堡2圖九地圖標注 西區(qū)企業(yè)怎么做地圖標注入駐 九江外呼系統(tǒng) 阿里云400電話申請加工單 智能電話機器人排名前十名南京

本文實例講述了PHP遠程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法。分享給大家供大家參考,具體如下:

一.以下是基于 wampServer 的php 訪問oracle數(shù)據(jù)庫的操作步驟:

1、第一步:讓PHP支持OCI

首先,安裝PHP的集成運行環(huán)境,網(wǎng)上有很多集成,我安裝的是WampServer的(具體的安裝方法也可以參考之前寫的另一篇文章),安裝好后,從安裝目錄中找到php.ini文件,比如我本地的路徑是D:\wamp\bin\php\php5.3.3,將php.ini中的php_oci8.dll的;去掉,也就是把注釋去掉,相當于可以使用php_oci8了。

2、第二步:然后wampserver運行后,將php>php extentions中將php_oci8打上勾

【其他的集成環(huán)境其實也是可以的,比如phpStudy,我們可以直接從php擴展的選項里打勾對應(yīng)的】。

3、第三步:oracle 數(shù)據(jù)庫文件配置

對于安裝有Oracle客戶端的PC機,可以在Oracle安裝配置文件,tnsnames.ora文件,此文件路徑是安裝oracle的路徑,比如我本機的是

F:\oracle\product\10.2.0\client_1\NETWORK\ADMIN  ,所連的192.168.1.198數(shù)據(jù)庫,其中的配置詳情如下(如果顯示 127.0.0.1 默認為本機):

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

4、第四步:檢測oci8是否配置成功

①.一般情況下,打開localhost即能顯示 phpinfo.php界面,里面即為 php 信息??刹捎?“Ctrl+F”搜索“oci”,查看是否有對應(yīng)的oci模塊,當然有一點php基礎(chǔ)的完全可以直接訪問自己編寫的文件,記得里面加入“echo phpinfo();”即可。

②.不要高興太早,走到這一步,至少我是查不到的對應(yīng)信息的,這時可以按照網(wǎng)上的一些建議,把php的ext目錄下的php_oci8.dll拷到system32目錄下

③.最后建議重啟服務(wù),最好是重啟電腦(我在測試時發(fā)現(xiàn),重啟服務(wù)沒用,有一次是無意中 刷新出了oci擴展,所以如果操作方法沒錯,我建議進行重啟.)

二.代碼測試遠程連接 orcal 數(shù)據(jù)庫(建議可用自己的oracle客戶端試著是否能連接對方的服務(wù)端,以保證操作的成功率)

?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2015/12/7
 * Time: 16:25
 */
echo 'ff';
//進行連接數(shù)據(jù)庫的參數(shù)配置
$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);//如果去掉最后一個參數(shù)或者為“ ”,默認連接本機
$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 foundbr />\n";
}
echo " $nrows Records Selectedbr />\n";
oci_free_statement($stmt);
oci_close($conn);
?>

(參考網(wǎng)友的一點說明)

兩種方式和oracle數(shù)據(jù)庫建立鏈接

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');

有的時候第一種方式不行,使用第二種,里面的幾個參數(shù)分別是用戶名、密碼、oracle服務(wù)地址,其中orcl是服務(wù)名(但在我的機器上,后者無法訪問)

另外提供一種簡單的測試代碼,相對而言,只是測試連接情況,更為方便:

!DOCTYPE HTML>
html>
head>
  meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  title>php語句結(jié)束符/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 "關(guān)閉連接成功!".'br/>';//
  }
}
else
{
  echo "連接失敗".'br/>';
}
?>
/body>
/html>

總結(jié)提示:

使你的php支持oracle,按照以下步驟即可:
1.安裝php環(huán)境,找一下appserv或者xampp,一鍵安裝,很方便
2.把php的ext目錄下的php_oci8.dll拷到system32目錄下
3.修改php.ini文件中的配置,去掉  ;extention = php_oci8.dll,去掉前面的分號
4.重啟apache

注意:

1.有時候你并不會注意到的一點失誤會浪費很多時間,我還要提醒的是,請記得打開oracle的服務(wù)監(jiān)聽!!
2.請記得作為服務(wù)端的PC機,要關(guān)閉防火墻??!
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>

4.上文中一直提示的SID 或者說oracle服務(wù)器名稱什么的真的好難懂,我是直接用了配置文件中所顯示的名稱“orcl”,這個在你安裝軟件時,會有一個服務(wù)名稱的提醒,自己默認的orcl而已,估計些其他的名稱也是可以的。網(wǎng)上介紹的很亂

如果不知道怎么操作,查看學習文檔是最正確的選擇,希望能幫到你。

有的時候第一種方式不行,使用第二種,里面的幾個參數(shù)分別是用戶名、密碼、oracle服務(wù)地址,其中orcl是服務(wù)名。

#  Require local

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php+Oracle數(shù)據(jù)庫程序設(shè)計技巧總結(jié)》、《PHP+MongoDB數(shù)據(jù)庫操作技巧大全》、《PHP基于pdo操作數(shù)據(jù)庫技巧總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》

希望本文所述對大家PHP程序設(shè)計有所幫助。

您可能感興趣的文章:
  • ThinkPHP5.0框架使用build 自動生成模塊操作示例
  • PHP生成隨機碼的思路與方法實例探索
  • PHP實現(xiàn)網(wǎng)站應(yīng)用微信登錄功能詳解
  • PHP之認識(二)關(guān)于Traits的用法詳解
  • ThinkPHP框架下微信支付功能總結(jié)踩坑筆記
  • 微信公眾平臺開發(fā)教程④ ThinkPHP框架下微信支付功能圖文詳解
  • 微信公眾平臺開發(fā)教程③ PHP實現(xiàn)微信公眾號支付功能圖文詳解
  • ThinkPHP框架實現(xiàn)的微信支付接口開發(fā)完整示例
  • 在Ubuntu 18.04上安裝PHP 7.3 7.2和7.0的方法
  • PHP中str_split()函數(shù)的用法講解

標簽:遼陽 九江 甘肅 涼山 昭通 十堰 梅河口 韶關(guān)

巨人網(wǎng)絡(luò)通訊聲明:本文標題《PHP遠程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法圖文詳解》,本文關(guān)鍵詞  PHP,遠程,連接,oracle,數(shù)據(jù)庫,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP遠程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法圖文詳解》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP遠程連接oracle數(shù)據(jù)庫操作實現(xiàn)方法圖文詳解的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章