call undefined mysql connect가 발생하는 이유는 php에서 mysql모듈 즉 함수 라이브러리를 호출하지 못하
기 때문에 발생한다. php가 소스로 설치되어 있을 경우는 php를 재 컴파일 하는 등의 방법을 이용
APM이 모두 RPM으로 설치되어 있을 경우 PHP에서 mysql모듈을 추가해주는 패키지는
php-mysql이며 RPM으로 설치된 PHP에서 외부 모듈에 대해 정의하고 있는 폴더는 /etc/php.d/이다.
/etc/php.d/ 에는 각 외부 모듈에 대한 설정 파일들이 존재하며 mysql.ini등 외부 모듈들이 *.ini형태로
존재한다. vi로 각 설정파일들을 열어보면 extension 구문에서 각 모듈의 위치를 저장하고 있는데
yum 업데이트로 인해 업데이트 될 경우 각 모듈들의 위치를 파악하지 못하게 되는 경우가 발생하게 되는데
아래와 같이 라이브러리 경로를 절대 경로로 지정 함으로써 문제를 해결할수 있다.
= >extension = /usr/lib64/php4/mysql.so
확인 절차
1. phpinfo구문을 이용한 index.php를 만들어 버추얼 호스트로 설정하여 웹브라우저 상에서
php정보창에 mysql 모듈이 Load되었는지 확인
2. 만약 로드 되지 않았을 경우 php-mysql 패키지가 깔렸는지 확인 한후 깔려 있지 않다면 설치,
설치되어 있는 경우임에도 불구 msyql함수를 불러오지 못한다면
vi로 /etc/php.d/mysql.ini 파일을 열어 extension=mysql.so 이 부분을
extension=mysql.so의 절대경로(보통 /usr/lib64/php4나 /usr/lib/php4에 mysql.so모듈이 존재)로
적어준다.
3. apache를 재 시작한다 .
기 때문에 발생한다. php가 소스로 설치되어 있을 경우는 php를 재 컴파일 하는 등의 방법을 이용
APM이 모두 RPM으로 설치되어 있을 경우 PHP에서 mysql모듈을 추가해주는 패키지는
php-mysql이며 RPM으로 설치된 PHP에서 외부 모듈에 대해 정의하고 있는 폴더는 /etc/php.d/이다.
/etc/php.d/ 에는 각 외부 모듈에 대한 설정 파일들이 존재하며 mysql.ini등 외부 모듈들이 *.ini형태로
존재한다. vi로 각 설정파일들을 열어보면 extension 구문에서 각 모듈의 위치를 저장하고 있는데
yum 업데이트로 인해 업데이트 될 경우 각 모듈들의 위치를 파악하지 못하게 되는 경우가 발생하게 되는데
아래와 같이 라이브러리 경로를 절대 경로로 지정 함으로써 문제를 해결할수 있다.
= >extension = /usr/lib64/php4/mysql.so
확인 절차
1. phpinfo구문을 이용한 index.php를 만들어 버추얼 호스트로 설정하여 웹브라우저 상에서
php정보창에 mysql 모듈이 Load되었는지 확인
2. 만약 로드 되지 않았을 경우 php-mysql 패키지가 깔렸는지 확인 한후 깔려 있지 않다면 설치,
설치되어 있는 경우임에도 불구 msyql함수를 불러오지 못한다면
vi로 /etc/php.d/mysql.ini 파일을 열어 extension=mysql.so 이 부분을
extension=mysql.so의 절대경로(보통 /usr/lib64/php4나 /usr/lib/php4에 mysql.so모듈이 존재)로
적어준다.
3. apache를 재 시작한다 .