WEB Server - PHP zip 확장 모듈 설치하기
WEB Server - PHP zip 확장 모듈 설치하기
이번 포스팅에서는 zip 확장 모듈 설치에 대해서 알아보도록 하겠습니다.
관련 글 :
WEB Server - NGINX Comfile 설치하기 - https://server-talk.tistory.com/301
WEB Server - NGINX PHP 연동하기 - CentOS 7 - https://server-talk.tistory.com/307
WEB Server - PHP 7.x 컴파일 설치하기 - CentOS 7 - https://server-talk.tistory.com/312
WEB Server - PHP 확장 모듈(phpize) 알아보기 - https://server-talk.tistory.com/316
php zip 모듈 이해하기 |
1. PHP 에러 메세지
ERROR Massage : Fatal error: Class 'ZipArchive' not found in
위 메세지는 zip 모듈이 설지 되지 않았을 경우 나오는 메세지 입니다.
2. ZIP 모듈
ZipArchive 클래스를 사용하여 읽기, 압축, 수정 등을 사용할 수 있습니다 그리고 XLSX 엑셀파일을 읽기, 압축, 수정 할경우에도 사용됩니다.
XLS : 엑셀 2003 이하 버전
XLSX : 엑셀 2007 이상 버전
PHP - phpize zip 확장 모듈 설치하기 |
1. PHP Ver 확인
[root@php php-7.1.7]# /usr/local/php71/bin/php -v PHP 7.1.7 (cli) (built: Sep 25 2020 09:00:00) ( NTS ) Copyright (c) 1997-2017 The PHP Group Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
PHP 버전을 확인하고 버전에 맞는 소스파일을 다운로드하시면 됩니다.
2. PHP 확장 모듈 설치 위치 경로 이동
[root@php ~]# cd php-7.1.7 [root@php php-7.1.7]# cd ext/
압축을 해제하고 소스파일에서 ext 폴더로 이동합니다
3. PHP 확장 ZIP 모듈 확인
[root@php ext]# ls bcmath dba filter imap mcrypt pcntl pdo_odbc readline snmp sysvsem xmlrpc bz2 dom ftp interbase mysqli pcre pdo_pgsql recode soap sysvshm xmlwriter calendar enchant gd intl mysqlnd pdo pdo_sqlite reflection sockets tidy xsl com_dotnet exif gettext json oci8 pdo_dblib pgsql session spl tokenizer zip ctype ext_skel gmp ldap odbc pdo_firebird phar shmop sqlite3 wddx zlib curl ext_skel_win32.php hash libxml opcache pdo_mysql posix simplexml standard xml date fileinfo iconv mbstring openssl pdo_oci pspell skeleton sysvmsg xmlreader
ext 폴더에는 ZIP 모듈에 폴더가 있습니다
4. PHP 확장 모듈 경로 이동
[root@php ext]# cd zip/
설치가 필요한 모듈의 폴더로 이동합니다.
5. PHPIZE 실행
[root@php soap]# /usr/local/php71/bin/phpize Configuring for: PHP Api Version: 20160303 Zend Module Api No: 20160303 Zend Extension Api No: 320160303
모듈 경로에 이동하여 phpize 명령어를 실행하고 실행하면 configure 명령어를 실행할 수 있습니다
6. PHP 확장 모듈 소스 트리
사용법 : ./configure --with-php-config=[경로]/bin/php-config --enable-[모듈이름]
[root@php zip]# ./configure --with-php-config=/usr/local/php71/bin/php-config --enable-zip
소스 트리에서 with-php-cpnfig 옵션으로 php-config 모듈 옵션을 추가하여 진행합니다
7. PHP 확장 모듈 컴파일 설치
[root@php zip]# make && make install
8. PHP 확장 모듈 설치 위치 확인
[root@php zip]# make install . . . . . Installing shared extensions: /usr/local/php71/lib/php/extensions/no-debug-non-zts-20160303/
컴파일 설치가 완료되면 모듈이 설치 경로를 확인하고 해당 경로로 이동하여 모듈이 있는지 확인하면 됩니다.
PHP 확장 모듈 연동하기 |
1. PHP 확장 모듈 폴더 생성
[root@php soap]# mkdir /usr/local/php71/modules
모듈의 관리를 통합하기 위한 폴더를 생성합니다
2. PHP 확장 모듈 이동
[root@php soap]# mv /usr/local/php71/lib/php/extensions/no-debug-non-zts-20160303/*.so /usr/local/php71/modules
컴파일 설치한 모듈을 이동 합니다.
3. PHP 확장 모듈 설정
[root@php soap]# vi /usr/local/php71/lib/php.ini extension_dir = "/usr/local/php71/modules" extension=zip.so
php.ini 파일에 모듈의 경로를 지정하고 컴파일 설치한 모듈의 이름을 정의합니다
4. PHP-FPM 재시작
[root@php soap]# service php71-fpm restart
php-fpm을 재시작하여 설정 정보를 반영합니다
5. PHP 모듈 정보 확인
[root@php soap]# /usr/local/php71/bin/php -m [PHP Modules] . . . . zip . . . .
php 명령어로 확장 모듈이 적용된 것을 확인하실 수 있습니다.