메뉴 닫기

PHP 에 Mysqli 함수 쓰기

idchowto_150914

PHP 설치시 –with-mysqli 옵션을 걸지 않고 설치했을때 mysqli() 함수를 쓰기 위해 php extensions 로 추가하는 방법에 설명합니다.

MySQLi

i 의 의미는 향상 (improved), 연결 (interface), 독창적인 (ingenious), 비호환적인 (incompatible), 미완성 (incomplete) 의 의미가 있다고 합니다.
미완성이라는 의미는 지금 개발중이라는 뜻으로 겸손한 입장에서 쓴 것으로 보입니다.

이 확장은 추가적인 추적 (addtional tracing)와 디버깅, 로드 밸런싱, 복제기능을 지원합니다.

확장의 장점으로는,

1. 놀라운 속도 : ext/mysql 과 비교하여 특정 조건에서는 40 가량 빠릅니다.
2. 안전한 보안 : mysql RDBMS 의 이전 버전에서 네트워크로부터 약간 패스워드 해쉬를 뽑아내기 위한 공격의 가능성이 존재했고,
                          그 다음에 사용자 패스워드를 재생성했었습니다.  새로운 인증 절차는 보다 강하고 SSH 같은 안전한 인증 절차입니다.

출처 : Google 사이트


1. php 가 설치된 디렉토리로 이동합니다.

# /usr/local/src/APM_Setup/php-5.2.17/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/lib/php/extensions

5. mysqli 모듈을 복사합니다.

# cp modules/* /usr/local/php/lib/php/extensions/

복사되는 파일
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/lib/php/extensions/”
extension=mysqli.so

7. 아파치를 재시작합니다.

# service apachectl restart

8. php 소스에서 mysqli 를 이용하여 db 접속이 가능한 것을 확인할 수 있습니다.  (~ 은 삭제)

<~?php
$db = new mysqli(‘localhost’, ‘withsmile’, ‘withsmile-password’, ‘withsmile’);

if($db->connect_error) {
die(‘데이터베이스 연결에 문제가 있습니다.\n관리자에게 문의 바랍니다.’);
}

else echo ‘정상적으로 접속되었습니다.’;

?~>

 

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x