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

정보공유

[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 436건 42 페이지
번호 제목 글쓴이 날짜 조회
게시물이 없습니다.