中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php遠程連接oracle的方法

發布時間:2020-09-17 14:44:05 來源:億速云 閱讀:182 作者:小新 欄目:編程語言

這篇文章主要介紹了php遠程連接oracle的方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

一、以下是基于 wampServer 的php 訪問oracle數據庫的操作步驟:

第一步:讓PHP支持OCI

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

php遠程連接oracle的方法

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

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

php遠程連接oracle的方法

第三步: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的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宝鸡市| 武鸣县| 南城县| 青铜峡市| 淮南市| 南郑县| 永济市| 湖州市| 南溪县| 古蔺县| 精河县| 沁水县| 沧源| 鹤壁市| 正宁县| 偏关县| 马龙县| 伊通| 湘阴县| 库尔勒市| 平邑县| 彭水| 洛南县| 唐山市| 山阴县| 商都县| 达拉特旗| 娄烦县| 通道| 乌鲁木齐市| 栾川县| 诸城市| 晋宁县| 郴州市| 林口县| 鹤庆县| 孝感市| 白沙| 婺源县| 贡山| 杨浦区|