이렇게 한번 해보세요.....
먼저 sybase common rpm하고 ocs rpm을 설치하시구요....(ASE12.5임다)
root계정에서
먼저 /etc/ld.so.conf 파일을 열어서요...
여기에 /opt/sybase/OCS-12_5/lib를 첨가하시구요.... 저장한담에...
프롬프트에서 ldconfig라고 실행합니다...
글면 library path가 포함이 되구요....
그 담에 php 설정시 --with-sybase-ct=/opt/sybase 라고 주시구요... php 빌드를 다시 합니다....
이렇게 하고 다시 테스트해보세요...
이번엔 잘될것 같습니다....
꼬옥 성공하시길...............
글구요... 밑에 isql은 mysql의 isql인것 같네요.... ^^*
-- 황경욱 님이 쓰신 글:
>> 안녕하세요.. 먼저 답변 감사드립니다.
>> 말씀하신대로 맨 먼저 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함수가 하나도 안먹혀서 죽겠어요..
>> >> >> 도움 좀 부탁드리겠습니다.
|