PHP는 원래 요청이 올 때마다 이런 과정을 거칩니다:
.php 파일 읽기 → 구문 분석(파싱) → 컴파일(바이트코드 변환) → 실행
문제는 같은 파일이라도 매 요청마다 컴파일을 반복한다는 겁니다. 이 컴파일 과정이 CPU를 많이 씁니다.
OPcache는 컴파일된 바이트코드를 메모리에 캐싱해서, 두 번째 요청부터는 컴파일 없이 바로 실행합니다.
OPcache OFF: 파일 읽기 → 파싱 → 컴파일 → 실행 (매번) OPcache ON:
파일 읽기 → 파싱 → 컴파일→ 메모리에서 바로 실행
쉽게 말하면 "한번 번역한 문서를 기억해두고 다시 번역 안 하는 것"입니다.
php.ini (C:\php\php.ini)에 추가:
[opcache]
zend_extension=opcache
opcache.enable=1
opcache.memory_consumption=128
opcache.max_accelerated_files=10000
opcache.validate_timestamps=1
opcache.revalidate_freq=60
vnote