【やりたいこと】
これから開発するウェブアプリケーション(AWSのEC2)から既存システムのデータを参照できるようにしたいです。
既存システムはVBで作られており、そのデータベースがRDSでオラクルエンジンを使っています。
【開発している環境】Centos7.6.1810/PHP7.1.26/oci2.1.8/Apache2.4.6
【つまづいているところ】
すべて設定し終わったあと「IP/test.php」に接続すると次のようなエラーがでてなかなか成功しません。
下記に実行した内容と結果、エラー内容、test.phpの内容を載せます。
恐れ入りますがご教授いただけると幸いです。
よろしくお願いいたします。
【test.php】
<?php $conn = oci_new_connect('ユーザー名', 'パスワード', 'エンドポイント/orcl','AL32UTF8'); var_dump($conn);
【エラー内容】
PHP Warning: oci_new_connect(): ORA-12170: TNS:Connect timeout occurred in /var/www/html/test.php on line 4
【oci8導入の流れ】※づらづら書きます。
#yum update #yum install epel-release #rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm #yum install --enablerepo=remi,remi-php71 php php-devel php-pear php-mbstring php-pdo php-gd php-zip php-xml php-fpm php-mcrypt php-mysqlnd php-pecl-apcu php-pecl-zendopcache php-intl #yum install php71-php-oci8 //下記サイトからダウンロードrpmファイルを/tmpディレクトリに格納。 https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html #cd /tmp #rpm -ivh oracle-instantclient12.2-devel-12.2.0.1.0-1.x86_64.rpm #rpm -ivh oracle-instantclient12.2-basic-12.2.0.1.0-1.x86_64.rpm #vi /etc/profile #export ORACLE_HOME=/usr/lib/oracle/12.2/client64/lib [追記] #export NLS_LANG=Japanese_Japan.AL32UTF8 [追記] #export LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH [追記] #export PATH=$ORACLE_HOME:$PATH [追記] #source /etc/profile #yum -y install systemtap-sdt-devel #export PHP_DTRACE=yes #pecl channel-update pecl.php.net #yum -y install gcc #pecl install oci8-2.1.8 php.iniにextension=oci8.so [追加] #systemctl restart httpd.service//Apache再起動 //モジュールが読み込まれているか確認。 #php -m | grep oci oci8 //「oci_connect」関数が存在するかチェック。 #php --rf oci_connect Function [ <internal:oci8> function oci_connect ] { - Parameters [5] { Parameter #0 [ <required> $username ] Parameter #1 [ <required> $password ] Parameter #2 [ <optional> $connection_string ] Parameter #3 [ <optional> $character_set ] Parameter #4 [ <optional> $session_mode ] } }
!!追記です!!
#mkdir -p /usr/lib/oracle/12.2/client64/network/admin #vi /usr/lib/oracle/12.2/client64/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = エンドポイント)(PORT = 1521)) (CONNECT_DATA = (SID = ORCL) ) )


回答1件
あなたの回答
tips
プレビュー