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 チュートリアル
」ステップ 2: wampserver が実行されたら、php>php を変更します。拡張機能の php_oci8 を確認してください。
[phpStudy など、他の統合環境も可能です。php 拡張機能のオプションから対応するものを直接確認できます]。
ステップ 3: 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) ) )
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 '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); ?>
リンクを確立する 2 つの方法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');
最初の方法が機能しない場合があるため、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('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 ファイルの設定を変更し、;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't remove Order Deny,Allow Allow from all # Require local </Directory>
以上がPHPを使用してOracleにリモート接続する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。