Fatal error: Class ‘mysqli’ not found in….(php 오류)
* [ php 재컴파일 ] 오류시 서버의 phpinfo 확인 후 mysqli 이 없으면 --with-mysqli=/usr/local/mysql/bin/mysql_config 옵션 추가 후 재컴파일
* [ phpize 를 이용한 모듈 컴파일 ] PHP 설치시 –with-mysqli 옵션을 걸지 않고 설치했을때 mysqli() 함수를 쓰기 위해 php extensions 로 추가하는 방법에 설명합니다. MySQLi 확장은 추가적인 추적 (addtional tracing)와 디버깅, 로드 밸런싱, 복제기능을 지원합니다. 확장의 장점으로는, 1. 놀라운 속도 : ext/mysql 과 비교하여 특정 조건에서는 40 가량 빠릅니다. 2. 안전한 보안 : mysql RDBMS 의 이전 버전에서 네트워크로부터 약간 패스워드 해쉬를 뽑아내기 위한 공격의 가능성이 존재했고, 그 다음에 사용자 패스워드를 재생성했었습니다. 새로운 인증 절차는 보다 강하고 SSH 같은 안전한 인증 절차입니다. 출처 : Google 사이트 1. php 가 설치된 디렉토리로 이동합니다. # cd /usr/local/src/APM_Setup/php-5.3.21/ext/mysqli 2. phpize 를 실행합니다. 권한이 없다면 permission 에러가 나므로 root 권한을 얻어 실행해줍니다. # /usr/local/php/bin/phpize 다음과 같이 출력되야 정상 Configuring for: PHP Api Version: 20041225 Zend Module Api No: 20060613 Zend Extension Api No: 220060519 3. 옵션 값을 주어 설치를 진행합니다. # ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config 4. PHP 내에 모듈을 복사해둘 디렉토리를 만들어 둡니다. # mkdir /usr/local/php/modules 5. mysqli 모듈을 복사합니다. # cp modules/* /usr/local/php/modules/ 복사되는 파일 mysqli.la mysqli.so 6. php.ini 파일에서 extension directory의 경로와 모듈명을 추가해줍니다. # vi /usr/local/apache/conf/php.ini (php.ini 위치는 각자 설치 옵션에 따라 다를 수 있습니다.) ; Directory in which the loadable extensions (modules) reside. extension_dir = /usr/local/php/modules extension=mysqli.so 7. 아파치를 재시작합니다. # /etc/init.d/apachectl restart 8. phpinfo 에서 ctrl + f 를 눌러 mysqli 를 확인할 수 있습니다.
0 개의 댓글