> > 내용은 알겠습니다.
> > 일단 php 이 컴파일시 mysql 설치된 디렉토리를 원하는 것은 그것에 사
> 용된 library 를 이용하기 위한 것입니다. 그러니 설혹 mysql 을 컴파일하
> 여 설치하더라도 shared library 만 memory 로딩 할 수 있는 조건이 된다면
> 당연히 아무런 문제가 없습니다.
> >
> > 개인적으로도 현재 php-apache 는 일단 rpm 패키지를 설치했고, mysql
> 은 컴파일해서 이용중입니다. 그리고 mysql 의 라이브러리 디렉토리인 ~mysq
> l/lib 를 /etc/ld.so.conf 디렉토리에 등록해 두고서 사용중입니다. 전혀
> 문제없이 잘 작동합니다.
> > 하지만 반드시 명심해야 할것은 php 에 사용된 mysql 라이브러리 버전과
> 컴파일한 mysql 의 버전이 일치해야겠지요.
> >
>
>
> 답변 감사합니다.
> 그래도 의문점이 있어서.......
>
> 1. 위에서 말씀하신 ..SHARED LIBRARY 만 memory 로딩할수있는 조건.....
>
> 에서 조건이란 어떤내용인지????
>
>
> 2. /etc/ld.so.conf 파일을 vi로 아래와 같이 삽입하면되는지????
>
> /usr/local/mysql/lib <--- 이렇게
>
> 3. 이미설치된 mysql-3.22.27-1.src.rpm 버젼이라면
> 컴파일버젼은 mysql-3.22.27.tar.gz 버젼으로 설치하라는 말씀이신지??
> ???
>
> 정말 귀찮게해서 죄송합니다.
1. 어떤 프로그램이 공유 라이브러리에 있는 routine 을 호출할 경우 OS 일단 그 공유 라이브러리를 찾아서 메모리에 올립니다. 이때 공유 라이브러리가 어디에 위치하는지 미리 그 경로를 알고 있어야 하는데, 이 경로를 가르쳐 주는 방법이 하나는 /etc/ld.so.conf 에 그 패스를 명시해 주는 방법이고, 다른 하나는 LD_LIBRARY_PATH 라는 환경변수에 그 라이브러리가 위치한 패스를 명시해 주는 방법입니다.
2. 그렇습니다. 그렇게 명시하고 나서 그냥 ldconfig 를 사정없이 실행시켜 주면 됩니다.
3. src.rpm 은 source RPM package 로서 설치할 수 있는 rpm package 가 아닙니다. 어찌 되었던지 설치한 rpm 버전이 3.22.27 이라면 컴파일할 프로그램의 버전도 당연히 3.22.27 이어야만 합니다.
|