Oracle 11g データベースを xampp サーバーに接続する必要があり、ローカル接続とリモート接続の両方が必要です。そのために私がしたことは、最初にOracle 11gエクスプレスエディションをインストールし、ダウンロードしinstantclient-basic-nt-11.2.0.4.0
て抽出したフォルダーを配置しinstantclient_11_2
、C:\
環境変数(システム変数)を設定すると、パス値が次のようになりますpath=C:\oraclexe\app\oracle\product\11.2.0\server\bin;C:\instantclient_11_2
。
次に、ファイルの;
前extension=php_oci8.dll
とextension=php_oci8_11g.dll
から削除しました。php.ini
次に、最初にローカルデータベースに接続しようとしました:
$tns_turjo = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.13)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))'; // tns of another pc
$tns_ishrak = '(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.18)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = XE)))'; // tns of my pc
$conn = oci_connect('system', 'cibl123*#', $tns_turjo);
if($conn) {
echo "connected";
}
else {
echo "not";
}
渡す$tns_ishrak
とエコーconnected
が発生しますが、別のPCのOracleデータベースにアクセスしようとすると、$tns_turjo
エコーnot
が発生し、エラーが発生します
Message: oci_connect(): ORA-12170: TNS:Connect timeout occurred
別のPCに接続しているときに、ユーザー名とパスワードも変更しました。
注意:Apacheを起動するたびにphp.iniファイルから.dll拡張子を有効にした後、xamppでポップアップ警告が表示されますModule 'oci8' is already loaded
リモート接続の問題を解決するにはどうすればよいですか?