안녕하세요..
Oracle +Apache +Php4 +Postgresql 을 연동하여 설치를 마쳤습니다.
설치상에서 에러는 없었구요. phpinfo() 에서 OCI8도 잘 보입니다.
콘솔 프롬프트상에서 Oracle에 접속하고 데몬띄우고 하는것도 이상없습니다.
테이블생성과 이런저런 sql문 역시 다 잘 됩니다.
혹시나 하여 Postgresql을 돌려보니 웹에서 잘 동작하구요.
저는 로컬PC 1대로만 사용하려고 합니다.
그런데 웹에서 테스트를 해보니 에러가 뜨더군요..
메시지 내용입니다.
Warning: _oci_open_server: ORA-12158: TNS:could not initialize parameter subsystem in /usr/local/apache/htdocs/test.php3 on line 2
Warning: Supplied argument is not a valid OCI8-Connection resource in /usr/local/apache/htdocs/test.php3 on line 5
Warning: Supplied argument is not a valid OCI8-Statement resource in /usr/local/apache/htdocs/test.php3 on line 7
Warning: Supplied argument is not a valid OCI8-Statement resource in /usr/local/apache/htdocs/test.php3 on line 10
Warning: Supplied argument is not a valid OCI8-Connection resource in /usr/local/apache/htdocs/test.php3 on line 15
Warning: Supplied argument is not a valid OCI8-Statement resource in /usr/local/apache/htdocs/test.php3 on line 17
Warning: Supplied argument is not a valid OCI8-Statement resource in /usr/local/apache/htdocs/test.php3 on line 20
소스입니다.
<?
$connection = OCILogon("php", "oracle");
$query = "create table hello(test varchar2(10))";
$result = OCIparse($connection, $query);
if(OCIexecute($result))
echo "php/oracle 계정안에 hello 라는 테이블이 생성되었습니다.\n";
OCIFreeStatement($result);
$query = "drop table hello";
$result = OCIparse($connection, $query);
if (OCIexecute($result))
echo "hello테이블이 삭제되었습니다.";
OCIFreeStatement($result);
OCILogoff($connection);
?>
물론 php/oracle 로 사용할 수 있게 svrmgrl로 들어가서 create user 시켰구요.
listener.ora 와 tnsnames.ora 파일은
/oracle/app/oracle/product/8.1.5/network/admin 에 없길래
/oracle/app/oracle/product/8.1.5/network/admin/samples 에서 카피하여 admin/으로 옮겨놓았습니다.
이 파일들은 2대이상의 컴에서 사용할때 세팅해야 한다고 들었습니다.
그래서 파일 수정은 하지 않았습니다. 맞는지 모르겠네요..^^
일단 lsnrctl 도 실행해 보았습니다.
LSNRCTL for Linux: Version 8.1.5.0.0 - Production on 05-JAN-01 14:11:29
(c) Copyright 1998 Oracle Corporation. All rights reserved.
Starting /oracle/app/oracle/product/8.1.5/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 8.1.5.0.0 - Production
System parameter file is /oracle/app/oracle/product/8.1.5/network/admin/listener.ora
Log messages written to /oracle/app/oracle/product/8.1.5/network/log/listener.log
Listening on: (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
Listening on: (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 8.1.5.0.0 - Production
Start Date 05-JAN-01 14:11:29
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security OFF
SNMP OFF
Listener Parameter File /oracle/app/oracle/product/8.1.5/network/admin/listener.ora
Listener Log File /oracle/app/oracle/product/8.1.5/network/log/listener.log
The listener supports no services
The command completed successfully
그래도 계속 같은 에러메세지입니다.
암튼요 웹과의 연동할수 있게 답변을 좀 실어 주셨으면 합니다
감사합니다.
|