위토즈 - 개발자프로그램판매공간

정보공유

[PHP] Minify 를 이용한 JavaScript, CSS 압축 전송

웹 서버의 페이지 크기가 크면 로딩 속도가 느리게 되는데 이때 PHP의 경우 압축전송 기술인 gzip 을 사용하게 됩니다.
PHP로 gzip을 사용하여 문서를 압축 하면 대략 70 ~ 80% 까지 압축률을 보여 주며 보통 PHP 상단에 아래와 같이 적어 사용합니다.
[code]
ob_start("ob_gzhandler");
[/code]


하지만 자바스크립트와 CSS 파일은 PHP 파일이 아니라서 ob_start 를 사용할 수가 없습니다.
자바스크립트나 CSS 같은 파일을 압축 전송하도록 해주는 Minify 를 소개 합니다.

우선 자신의 사이트의 압축률을 아래 사이트에 가서 확인해봅니다.

http://www.whatsmyip.org/http_compression/



Minify 는 PHP 5.2.1 이상 버전과 zlib 압축 라이브러리가 설치된 환경이어야 합니다.

다운로드 : http://code.google.com/p/minify/


위의 주소에서 파일을 다운받아서 압축을 풀고 그중에 min 폴더만 서버 루트에 업로드를 합니다.
업로드를 한후 루트에 cache 폴더를 생성한후 권한을 707 로 만들어 줍니다.


min 디렉토리에 있는 config.php 파일을 열어서 $min_cachepath 변수에 캐시 디렉토리를 정합니다.
[code]
//$min_cachePath = 'c:\\WINDOWS\\Temp';
//$min_cachePath = '/tmp';
//$min_cachePath = preg_replace('/^\\d+;/', '', session_save_path());
$min_cachePath = './cache';
[/code]

루트에 .htaccess 파일을 생성하고 (기존에 있으면 수정) js,css 파일을 자동 압축해주도록 합니다.
아래의 스크립트를 심어줍니다.

RewriteEngine On
RewriteRule ^(.*\.(css|js))$ ./min/index.php?f=$1 [L]

제대로 실행이 되는지 cache 폴더에 가서 파일이 생성되어있는것을 확인합니다.

아래 주소로 들어가서 변경된 결과를 확인할수있습니다.

http://www.whatsmyip.org/http_compression/
정보공유
Total 444건 30 페이지
번호 제목 글쓴이 날짜 조회
9 GD 를 이용한 그래프 만들기 SAMPLE 2 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-18 32160
8 GD 를 이용한 그래프 만들기 SAMPLE 1 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 02-18 33402
7 테이블별 용량 확인 쿼리. 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-22 31412
6 jQuery Dialog 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-10 31656
열람중 Minify 를 이용한 JavaScript, CSS 압축 전송 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-09 46452
4 그누보드 파일 구조도. 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-04 37508
3 MySQL INDEX 인덱스 생성 확인 삭제 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-04 31441
2 관리페이지에서 게시판 그룹별로 보기. 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 01-01 26438
1 php 를 asp 로 db연결방법 파일업로드 최고관리자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 12-07 39594