안녕하세요.. 먼저 답변 감사드립니다.
말씀하신대로 맨 먼저 PHP가 구동되는 os ID로 접속했을때
isql 명령을 시행해보니 다음과 같은 에러글이 뜹니다.
**********************************************
* unixODBC - isql *
**********************************************
* Syntax *
* *
* isql DSN [UID [PWD]] [options] *
* *
* Options *
* *
* -b Batch. No prompting etc *
* -dx Delimit cols with x *
* -w Wrap results in an HTML table *
* -v Verbose. *
* *
* Notes *
* *
* isql supports redirection and piping *
* for batch processing. *
* *
* Examples *
* *
* cat My.sql | isql WebDB MyID MyPWD -w *
* *
* Each line in My.sql must contain *
* exactly 1 SQL command except for the *
* last line which must be blank. *
* *
* Please visit; *
* *
* http://www.genix.net/unixODBC *
* pharvey@codebydesign.com *
*********************************************
근데 제가 잘 몰라서 그러는데요..
위의 에러는 제가 root계정으로 들어가서
isql명령을 친 겁니다..
제가 php를 root계정으로 컴파일하고 설치했다면
php의 구동ID가 root맞죠?
근데 sybase서버의 구동 OS ID는 "sybase"입니다.
그래서 "sybase" ID로 로그인한뒤에 isql을 하면 위와같은
에러가 안뜨고 DB에 접속이 잘됩니다.
아 그런데 apache도 root계정으로 설치해줬지만
conf파일의 user랑 guest는 둘다 nobody니까
이경우 apache의 구동 OS계정은 nobody가 되는건가요??
음...그러면 php도 root계정이 아닐 수도 있겠네요?
아..근데 이런게 중요한게 아니죠...^^
암튼 root계정에서 isql -Usa ~~를 입력하면
위의 에러가 뜹니다. ">" 요건 안나오고요...
그럼 PHP에 접속이 안되는 이유가 이것때문인가요??
어떻게 대처해야할 지 잘 모르겠습니다..
답변 기다리겠습니다.
-- jinuki 님이 쓰신 글:
>> 음냐.... 산넘어 산이네요.... ^^*
>> 고생이 많으신것 같은데.....
>>
>> 먼저, sybase client는 license없이도 사용하실 수 있습니다..
>> 기본적으로 라이센스는 server option에 관련된 부분이니까요...
>> 단지 클라이언트로만 사용하실때는 아무 문제 없습니다...
>>
>> 음.... 먼저 php가 구동되는 os id로 접속했을때 그 sybase서버로 접속이 가능한지 확인해보세요..
>> $ isql -Usa -P -S[servername]
>> 1>
>> 이렇게 되는지 부터 확인하시구요...
>>
>> 그 담에 각 환경변수를 확인해보세요...
>> $SYBASE
>> $LD_LIBRARY_PATH
>> $PATH
>>
>> 글구 php빌드할때 홈디렉토리는 /opt/sybase 로 주셨나요???
>> 그러면 /opt/sybase 밑에 lib 디렉토리를 symbolic link해줘야 할 것 같은데...
>>
>> 수고하시구요.... 잘 안되면 다시 질문 올려주세요.....
>>
>> 다시 해보시구
>> -- 황경욱 님이 쓰신 글:
>> >> 안녕하십니까....
>> >> 밑에 있는 글에서 php4랑 sybase12.5를 연동하는 문제에 대해서
>> >> 물어본 사람인데요..
>> >>
>> >> jinuki님이 말씀하신대로 sybase-12.5 open client를
>> >> 사이베이스 홈페이지에서 60일 trial버전을 다운받아서 설치해줬습니다.
>> >> 아..참고로 저는 리눅스를 사용하고 있습니다.
>> >>
>> >> 설치한 후에 php를 다시 컴파일해보니까
>> >> 이젠 sybase에 관련된 오류는 안뜨고 제대로 컴파일이 되는 것 같았습니다.
>> >>
>> >> 그런데 막상 웹상에서 sybase_connect()함수를 실행시켜보니까
>> >> 에러가뜹니다. 다음과 같이요..
>> >>
>> >> Warning: Sybase: Unable to allocate connection record in /home/www/functions/sybase.php on line 7
>> >> Failed to connect DB
>> >>
>> >> 서버네임이나 로그온네임,암호 등은 제대로 입력하였습니다..
>> >> db서버는 php랑 같이있으니까 그냥 sybase이름만 쓰면 되는거 맞죠?
>> >> interface에 있는 이름이요..
>> >> 근데도 안되네요..
>> >>
>> >> 혹시 제가 sybase-12.5-openclient를 설치하기는 했지만
>> >> license번호를 아직 입력을 안했는데 혹시 이것때문인가요?
>> >> license번호를 메일을 통해 받기는 했는데
>> >> 이걸 어디서 어떻게 입력해야 하는지 몰라서
>> >> 그냥 현재는 rpm ivh 만 된 상태입니다..
>> >>
>> >> 아..근데 설치되어있던 sybase-ASE-12.5 자체는 정품입니다..
>> >> 제가 새로 다운받은 openclient만 60일버전인거죠...
>> >> license를 어디서 입력해줘야하나요?
>> >> sybase홈페이지 가보니까 installer 를 다운받아서 실행시켜야 한다던데
>> >> 막상 리눅스용installer만 없습니다...ㅠ.ㅠ
>> >>
>> >> 암튼 sybase함수가 하나도 안먹혀서 죽겠어요..
>> >> 도움 좀 부탁드리겠습니다.
|