PHP 7.X 버전에서 MYSQL 사용 기본으로는 mysqli를 사용하는데 4.0 버전 이하를 쿼리 하기 위해서는 mysql 라이브러리가 필요하다
1. 우선 현재 서버에 설치된 php 버전의 소스 파일을 다운로드 한다.
1 2 3 4 5 6 7 8 9 10 |
[root@xinet ~]# php -v Cannot load Zend OPcache - it was already loaded PHP 7.2.3 (cli) (built: Mar 19 2018 13:50:30) [root@xinet ~]# wget mirror.koreaidc.com/php/php-7.2.3.tar.gz [root@xinet ~]# tar xvfz php-7.2.3.tar.gz [root@xinet ~]# cd php-7.2.3/ext/ |
2. extension 올리기 위해서는 해당 폴더에 mysql 폴더가 존재해야 하는데 없기 때문에 다운로드를 진행하자.
1 2 3 4 5 6 7 8 9 |
[root@xinet ext]# ls -l mysql ls: cannot access mysql: 그런 파일이나 디렉터리가 없습니다 [root@xinet ext]# git clone https://github.com/php/pecl-database-mysql mysql --recursive Cloning into 'mysql'... remote: Enumerating objects: 183, done. remote: Total 183 (delta 0), reused 0 (delta 0), pack-reused 183 Receiving objects: 100% (183/183), 97.39 KiB | 0 bytes/s, done. Resolving deltas: 100% (95/95), done. |
3. phpize를 이용하여 컴파일 하여 모듈을 설치
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[root@xinet ext]# cd mysql [root@xinet mysql]# /usr/local/php/bin/phpize Configuring for: PHP Api Version: 20170718 Zend Module Api No: 20170718 Zend Extension Api No: 320170718 [root@xinet mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config [root@xinet mysql]# make && make install 생략 Installing shared extensions: /usr/local/php/lib/php/extensions/debug-zts-20170718/ [root@xinet mysql]# ls -l /usr/local/php/lib/php/extensions/debug-zts-20170718/ -rwxr-xr-x 1 root root 162120 3월 6 16:50 mysql.so |
4. 이제 so 파일이 생성되었으므로 php.ini에 등록해준다.
1 2 3 4 |
[root@xinet mysql]# vi /usr/local/apache/conf/php.ini [mysql] extension=mysql.so |