ホームページ  >  記事  >  バックエンド開発  >  PHPを使用してOracleにリモート接続する方法

PHPを使用してOracleにリモート接続する方法

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼オリジナル
2019-08-21 17:30:423992ブラウズ

PHPを使用してOracleにリモート接続する方法

1. 以下は、wampServer に基づいた php を使用して Oracle データベースにアクセスする手順です。ステップ: PHP が OCI をサポートするようにする

まず、PHP の統合オペレーティング環境をインストールします。インターネット上には多くの統合環境があります。私は WampServer をインストールしました (具体的なインストール方法については、別の記事も参照してください)インストール その後、インストールディレクトリから php.ini ファイルを見つけます (例: 私のローカルパスは D:\wamp\bin\php\php5.3.3 です) 内の php_oci8.dll の「;」を削除しますphp.ini、つまりコメントを削除します。これは、php_oci8 を使用するのと同じです。


関連する推奨事項: 「PHPを使用してOracleにリモート接続する方法php チュートリアル

ステップ 2: wampserver が実行されたら、php>php を変更します。拡張機能の php_oci8 を確認してください。

[phpStudy など、他の統合環境も可能です。php 拡張機能のオプションから対応するものを直接確認できます]。

ステップ 3: Oracle データベース ファイルの構成PHPを使用してOracleにリモート接続する方法

Oracle クライアントがインストールされている PC の場合は、構成ファイル tnsnames.ora ファイルを Oracle にインストールできます。このファイル パスは、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)
)
)

ステップ 4: oci8 が正常に構成されているかどうかを確認します

1. 通常の状態ではこの状況では、localhost を開くと、php 情報を含む phpinfo .php インターフェイスが表示されます。 「Ctrl F」を使用して「oci」を検索し、対応する oci モジュールがあるかどうかを確認できます。もちろん、PHP の基礎があれば、作成したファイルに直接アクセスできます。「echo phpinfo(」を追加することを忘れないでください。 );" 初期化。

2. あまり喜ぶ必要はありません。現時点では、少なくとも対応する情報が見つかりません。現時点では、インターネット上のいくつかの提案に従って、php_oci8 をphp の ext ディレクトリにコピーします。dll を system32 ディレクトリ

3 にコピーします。最後に、サービス (できればコンピュータ) を再起動することをお勧めします (テスト中にサービスを再起動しても無駄であることがわかりました。一度、

2. orcal データベースにリモート接続するためのコード テスト (独自の Oracle クライアントを使用することをお勧めします)操作の成功率を確認するために相手のサーバーに接続できるかどうかを試します)

<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2015/12/7
 * Time: 16:25
 */
echo &#39;ff&#39;;
//进行连接数据库的参数配置
$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(&#39;scott&#39;,&#39;tiger&#39;,$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);
?>
(ネチズンからの指示を参照してください)

リンクを確立する 2 つの方法Oracle データベースの場合:

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

最初の方法が機能しない場合があるため、2 番目の方法を使用してください。パラメータはユーザー名、パスワード、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(&#39;scott&#39;,&#39;tiger&#39;,$dbstr);
if($dbconn!=false)
{
    echo "连接成功".&#39;<br/>&#39;;
    if(OCILogOff($dbconn)==true)
    {
        echo "关闭连接成功!".&#39;<br/>&#39;;//
    }
}
else
{
    echo "连接失败".&#39;<br/>&#39;;
}
?>
</body>
</html>

概要のヒント:

PHP が Oracle をサポートするには、次の手順に従ってください:

1. PHP 環境をインストールするには、appserv または xampp を探し、ワンクリックでインストールできるのでとても便利です。

2. php の ext ディレクトリにある php_oci8.dll を system32 ディレクトリにコピーします。

3. php.ini ファイルの設定を変更し、;extension = php_oci8.dll を削除し、その前のセミコロンを削除します。

4. Apache を再起動します。


注:

1. 気付かない間違いによって多くの時間が無駄になる場合があります。また、注意していただきたいのですが、覚えておいてください。 Oracle のサービス監視を有効にしてください。 !

2. サーバーとしての PC のファイアウォールを忘れずにオフにしてください。 !

3. Apache の設定ファイルも同様に重要です。httpd.conf ファイルを変更し、拒否—>許可

<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&#39;t remove
     Order Deny,Allow
     Allow from all
 #   Require local
</Directory>

以上がPHPを使用してOracleにリモート接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。