그것이 MAMP 문제라는 것을 알아내는 데 너무 오래 걸렸습니다! 웹 사이트를 테스트하는 데 사용되는 앱에서 OPcache가 기본적으로 활성화되고 비활성화하려면 php.ini 땜질이 필요한 이유는 무엇입니까? 어쨌든 나는이 전체 스레드를 읽고 다양한 솔루션을 시도했습니다.
다음은 각 솔루션의 작동 방식에 대한 메모와 솔루션 선택을위한 고려 사항입니다.
각 솔루션은 자체적으로 작동합니다. 중복이 필요하지 않습니다.
웹 페이지 코드 솔루션
opcache_reset ();
<?php opcache_reset(); ?>
- 웹 페이지 코드에 추가해야합니다.
- 모든 스크립트를 강제로 다시로드합니다.
- MAMP 서버를 다시 시작하지 않고 작동합니다.
서버 구성 솔루션
중요 : 사용 php.ini
에 파일 /Applications/MAMP/bin/php/php5.5.3/conf/php.ini
및 없습니다
/Applications/MAMP/conf/php5.5.3/php.ini
. 다른 버전의 PHP를 사용하는 경우 적절하게 조정하십시오.
활성화 = 0
[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
opcache.fast_shutdown=1
opcache.enable_cli=1
enable=0
[OPcache]
에서 아래 에 추가해야합니다 php.ini
.
- OPcache를 비활성화합니다.
- MAMP 서버를 다시 시작해야합니다.
opcache.revalidate_freq = 0
[OPcache]
zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=0
opcache.fast_shutdown=1
opcache.enable_cli=1
- 수정
opcache.revalidate_freq
아래 [OPcache]
에서 php.ini
.
- 60 초가 아닌 0 초마다 OPcache가 업데이트를 확인합니다.
- MAMP 서버를 다시 시작해야합니다.
[OPcache] 주석 처리
;[OPcache]
;zend_extension="/Applications/MAMP/bin/php/php5.5.3/lib/php/extensions/no-debug-non-zts-20121212/opcache.so"
;opcache.memory_consumption=128
;opcache.interned_strings_buffer=8
;opcache.max_accelerated_files=4000
;opcache.revalidate_freq=60
;opcache.fast_shutdown=1
;opcache.enable_cli=1
- 에서 전체
[OPcache]
섹션을 주석 처리 하십시오 php.ini
.
- PHP 서버에서 OPcache를 제거합니다.
- MAMP 서버를 다시 시작해야합니다.
고려 사항
다음과 같은 경우 웹 페이지 코드 솔루션을 선택하십시오.
- 특정 프로젝트에 대해 스크립트 새로 고침을 강제하면됩니다.
- MAMP 서버를 다시 시작하고 싶지 않습니다.
- php.ini를 편집하고 싶지 않습니다.
다음과 같은 경우 서버 구성 솔루션을 선택하십시오.
- 모든 프로젝트에서 캐싱을하는 대신 기본적으로 캐싱을 비활성화하고 싶습니다.
- php.ini 편집에 익숙합니다.
enable=0
저에게 가장 간단한 솔루션이기 때문에 개인적으로 선호 하며 기본적으로 캐싱을 비활성화해야합니다.
참고 문헌