Oracleが動いているマシン名/サービス名以上、接続テストでユーザー名、パスワードを入力すれば接続に成功するはず。
php.iniを開いて、
;extension=php_oci8.dll
となっているところを
extension=php_oci8.dll
としてコメントをはずす。
Apacheを再起動してerror.logに何もエラーが出ていないことを確認する。
phpinfo()を実施し、oci8-OCI8 Support = enabledになっていれば、PHPとOracleXEの接続は完了している。
以下、確認用のサンプル。
<? phpinfo(); ?>
oci8の所を見る。
以下のように表示されていれば動作している。
| OCI8 Support | enabled |
| Version | 1.2.4 |
| Revision | $Revision: 1.269.2.16.2.38 $ |
| Active Persistent Connections | 0 |
| Active Connections | 0 |
| Temporary Lob support | enabled |
| Collections support | enabled |
Oracle Database 10g Express Clientだと、oci_connectの書式が若干違う。
以下、Oracle接続〜SELECT〜表示するまでのサンプルです。
ファイル名:selectemp.php
<?php
$servername = "p4db"; // マシン名です。
$dbname = "sampledb"; // ODBC設定で入力した名前
//Oracleへ接続
$cn = oci_connect("scott", "tiger", "//".$servername."/".$dbname);
$strSQL = "SELECT EMPNO,ENAME,JOB,MGR,HIREDATE,SAL,COMM,DEPTNO FROM EMP";
$rs = oci_parse($cn, $strSQL);
oci_execute($rs, OCI_DEFAULT);
print "<table border=1>";
while (oci_fetch($rs)) {
print "<tr>";
print "<td>".oci_result($rs, "EMPNO");
print "<td>".oci_result($rs, "ENAME");
print "<td>".oci_result($rs, "JOB");
print "<td>".oci_result($rs, "MGR");
print "<td>".oci_result($rs, "HIREDATE");
print "<td>".oci_result($rs, "SAL");
print "<td>".oci_result($rs, "COMM");
print "<td>".oci_result($rs, "DEPTNO");
print "</tr>";
}
print "</table>";
oci_close($cn);
?>