redhat 8.0 이구
onipcshm 형태의 연결 타입을 주었습니다.
apache-1.3을 --enable-module=so 옵션을 주어서 모듈형태로 컴파일 하였고,
php는 다음과 같은 옵션을 주어 컴파일 하였습니다.
./configure --prefix=/usr/local/php-4.1.2 --enable-sockets --with-mysql --with-informix=/opt/informix --with-language=korean --with-charset=euc_kr --enable-track-vars --with-apxs=/usr/local/apache-1.3/bin/apxs --with-zlib --with-png --with-jpeg
ifx_connect를 다음과 같이(굵은색 밑줄) 사용하였는데,
"SQLSTATE=00 000 SQLCODE=0" 이란 에러를 발생시킵니다.
$INFO_USER = "informix"; $INFO_PASS = "informix";
function ifx_connect3() { global $CHAT_DATABASE, $INFO_USER, $INFO_PASS; $conn_count=0; for ($conn_count=0; $conn_count < 10;$conn_count++) { $rv = @ifx_connect($CHAT_DATABASE, $INFO_USER, $INFO_PASS); if ($rv) break; usleep(1000); } if (!$rv) { return FALSE; }
$res_id = @ifx_query("SET ISOLATION DIRTY READ", $rv); if(!$res_id) { @ifx_close($rv); return FALSE; } @ifx_free_result($res_id);
$red_id = @ifx_query("SET LOCK MODE TO WAIT 10", $rv); if(!$res_id) { @ifx_close($rv); return FALSE; } @ifx_free_result($res_id);
return $rv; }
사실 이 PHP 소스를 제가 작성한것이 아니라서 지금 방황하고 있는데요.
원본 코드에는 밑줄친 굵은 글씨가
ifx_connect($CHAT_DATABASE, $INFO_USER, $INFO_PASS); 가 아니라 ifx_connect($CHAT_DATABASE, $INFO_USER); 이렇게 패스워드가 빠져 있었습니다.
그 상태에서는 에러코드 952번을 발생시키더군여...
패스워드가 있어야 할것 같아서 제가 추가한것인데요,
이상한건 dbaccess 모드로 들어가서 connection -> connect 하면 informix 유저로 잘 접속이 됩니다.. PHP 컴파일의 문제인가요???
어째서 접속을 못하는지 진단을 해주셨음 합니다.. 감사합니당 m^.^m ;
어떤 조언이라도 부탁드립니다
|