계속되는 답변에도 별 도움을 못드려 죄송함다... ㅡㅡ*
음... 글타면 이번에는 include 디렉토리도 같이 /opt/sybase-12.5 밑에 심볼릭 링크를 걸어보세요....
/opt/sybase-12.5 밑에 lib, include 디렉토리가 존재하게 되는거죠....
글구 서버빌드하세요...
요번엔 꼬옥 꼬옥 성공하세요....
-- 황경욱 님이 쓰신 글:
>> 계속되는 질문에도 꾸준히 답변 주셔서 감사드립니다..
>> 그런데 계속 같은 결과네요...ㅠ.ㅠ;
>>
>> 말씀해주신대로 interfaces파일을 /opt/sybase-12.5/OCS-12_5 밑에
>> 복사시켜놨습니다..
>> 그리고 /opt/sybase-12.5 디렉토리 상에다
>> /opt/sybase-12.5/OCS-12_5/lib를 심볼릭 링크하는
>> lib도 생성시켜줬구요..
>> 그런데 이상하게도 configure해줄때
>> --with-sybase-ct=/opt/sybase-12.5라고 하면
>> 또 똑같은 에러가 뜹니다.
>> 무슨 에러냐면 ctpublic.h 파일 못찾아서 컴파일에 실패했다는 에러요...
>> 그러니까 /opt/sybase-12.5/OCS-12_5/lib/ctpublic.h를
>> 못찾고 있는거겠죠..
>> 분명 심볼릭링크는 해줬지만요....ㅠ.ㅠ
>>
>> 근데 다시 제가 예전에 했던 방식대로
>> --with-sybase-ct=/opt/sybase-12.5/OCS-12_5라고 하니까
>> ctpublic.h 오류는 안뜨고 컴파일 잘 됩니다..
>>
>> 위의 과정은 전부 root계정상에서 실행한 결과입니다..
>> 근데 root계정으로 설치해주는게 맞나요?
>> 저번에 말씀드렸듯이 root계정으로는 sybase에 접속이 안됩니다.
>> isql -Uphpmail -P -SMAIL 하면 이전에 보여드렸던 mysql에
>> 관련된 에러메세지가 쭉 뜹니다.
>> 오직 "sybase"계정(OS계정임)으로 재로그인한 후에
>> isql -Uphpmail -P -SMAIL해야만 db에 접속됩니다..
>>
>> 그리고 env해봐도 root계정에는 sybase에 관한 환경변수는 하나도 없습니다.
>> 물론 sybase계정에서 env해보면 sybase에 관련된 환경변수가 여러개 있지만요..
>>
>> LD_LIBRARY_PATH=/opt/sybase-12.5/ASE/lib:/opt/sybase-12.5/FTS/lib:/opt/sybase-12.5/OCS/lib:/opt/sybase-12.5/SQLRemote/lib:/opt/sybase-12.5/lib
>>
>> 위와 같은 환경변수도 있는데요..어디까지나 sybase계정에만 있는겁니다.
>> 제가 프로그램 설치하고 있는 root계정에는 물론 없구요...
>>
>> 혹시 php4 설치하는 계정문제때문에 그런거는 아닌가요?
>> 근데 사실 sybase계정으로 php4를 설치해보려고도 해봤지만
>> 권한문제가 있는지 아예 설치가 안됐지만요..^^;;
>>
>>
>> -- jinuki 님이 쓰신 글:
>> >> 음..... 고생많으시네요...
>> >>
>> >> 먼저 /opt/sybase로 했을때 컴파일이 안되는 문제는
>> >> php가 $SYBASE/OCS12_5/lib 디렉토리를 찾지 못하기 때문입니다...
>> >> 예전 버전(11.9)의 sybase는 $SYBASE/lib 이런 구조로 되어있었죠....
>> >> 그래서 library path에 $SYBASE/OCS-12_5/lib를 추가하는 거구요...
>> >>
>> >> 그렇다면 먼저 두가지 정도를 해보세요...
>> >> 먼저, 현재 상태에서 interfaces 파일을 /opt/sybase/OCS-12_5밑에 카피하시고 프로그램을 다시 돌려보시구요...
>> >> 이때 interfaces 파일안에 서버에 대한 정보가 제대로 들어가 있는지 먼저 확인하시구요...
>> >>
>> >> 그래도 안되면요....
>> >> 먼저 /opt/sybase 에서
>> >> ln -s /opt/sybase/OCS-12_5/lib ./lib
>> >> 라고 심볼릭링크를 만드시구요....
>> >> --with-sybase-ct=/opt/sybase 으로 컴파일후 다시 테스트해보세요...
>> >>
>> >> interfaces의 정보가 제대로 등록되어 있는지 테스트하시구요...
>> >> isql -Uphpmail -P[password] -SMAIL
>> >> 이 되는지 확인하시구요....
>> >>
>> >>
>> >> 꼬옥 꼬옥 성공하세요......
>> >> 고지가 바로 저깁니다.....
>> >>
>> >> -- 황경욱 님이 쓰신 글:
>> >> >> 답변 감사드립니다..
>> >> >> 그런데 /etc/ld.so.conf 에 /opt/sybase/OCS-12_5/lib를 첨부하고
>> >> >> ldconfig를 실행하는거는 저도 해봤었지만 안됐습니다...
>> >> >> 아..그런데 ldconfig는 어느 디렉토리상에서나 실행시켜도 상관없는거죠?
>> >> >> 그리고 다른게 있다면 제 경우는 configure 할때
>> >> >> --with-sybase-ct=/opt/sybase 가아니라
>> >> >> --with-sybase-ct=/opt/sybase/OCS-12_5라고 했습니다.
>> >> >> 그렇게 안하면 make 시에, 파일을 찾을 수 없다는 에러가 떠서요.
>> >> >>
>> >> >> 아..근데요..Common하고 ocs가 설치되어있어야 한다고 하셨는데
>> >> >> ocs라는게 openclient를 말씀하시는건가요?
>> >> >> 제가 60일판 받는 사이트에서 찾아봐도 ocs라는 rpm이 없어서요..
>> >> >> 제 서버에 깔려있는 rpm은
>> >> >> sybase-ase-12.5-3
>> >> >> sybase-openclient-12.5-3
>> >> >> sybase-common-12.5-3
>> >> >> 입니다.
>> >> >>
>> >> >> 도대체 이유가 뭘까요?
>> >> >> sybase_open이 안된상태에서 다른 sybase함수라도 테스트 해볼 수는
>> >> >> 없나요??
>> >> >> 제 생각에는 sybase_open함수에 인자를 제대로 입력시켜준것 같은데 말이죠..
>> >> >> 첫번째 인자에는 'MAIL'이라고 sybase server name을 줬고,
>> >> >> 두번째 인자에는 'phpmail'이라는 sybase로그인 계정.(OS ID 아닙니다)
>> >> >> 세번째 인자에는 그 암호를 넣어줬습니다..
>> >> >>
>> >> >> 음...설치상의 문제인지 아님 함수를 제대로 사용을 못하고 있는거지..
>> >> >> 혼란스럽습니다......
>> >> >>
>> >> >> -- jinuki 님이 쓰신 글:
>> >> >> >> 이렇게 한번 해보세요.....
>> >> >> >>
>> >> >> >> 먼저 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함수가 하나도 안먹혀서 죽겠어요..
>> >> >> >> >> >> >> 도움 좀 부탁드리겠습니다.
|