2012-03-21 2 views
2

스크립트를 최소화하기가 매우 쉽습니다. Yuicompressor입니다. 불행하게도이 프로세스는 PHP에서 exec으로 JAR을 실행할 때 완전히 느립니다.PHP : exec Yuicompressor.jar 너무 느림

예 (PHP) : ~ 20 개 파일

// start with basic command 
    $cmd = 'java -Xmx32m -jar /bin/yuicompressor-2.4.8pre.jar -o \'/var/www/myscript.min.js\' \'/var/www/myscript.min.temp.js\''; 

    // execute the command 
    exec($cmd . ' 2>&1', $ok); 

실행 시간이 최대 30 초까지 걸립니다! 8GB 램이 장착 된 쿼드 코어 서버.

많은 사람들이 스크립트를 최소화하기 위해 더 빠른 해결책을 알고 있습니까?

답변

1

실행 시간은 주로 파일 크기에 따라 다릅니다.

Google Closure Compiler으로 시도해 봅시다.

결과를 파일에 캐시하거나 클라이언트 확장 캐싱 헤더 (APC, Memcached)를 사용하는 것이 좋습니다. filemtime()을 사용하여 마지막 수정 시간을 확인하면 축소가 필요한지 알 수 있습니다.

대용량 콘텐츠의 축소를 막기 위해 파일별로 별도의 캐싱을 사용하고 전체적으로 MD5 체크섬을 만들고 마지막 요청 이후 수정 된 경우 새 체크섬을 저장하고 콘텐츠를 인쇄합니다. 단지 다음을 사용 :

header('Not Modified', true, 302); 

이렇게하면 dev 상태에서도 각 요청별로 매우 적은 계산입니다. 현재 프로젝트에 ExtJS 4를 사용하고 있습니다. 1.2MB의 크고 많은 프로젝트 코드가 문제없이 1 초 안에 응답합니다.