영카트 수정한 내용이 반영 안됩니다.
본문
서버는 nginx에 php-fpm으로 proxy_pass로 구성하였고, 소스는 git으로 내려 받았습니다.
설치까지 모두하고, 관리자에서 기본 정보 등 입력하여 정상적으로 작동합니다.
문제는 소스 수정하여 ftp로 올리니 수정된 내용이 반영이 안됩니다.
cache문제로 생각하여 php.ini에 캐시 설정 확인하니 opcache는 설정이 모두 주석처리 되어 있고, nginx에서도
proxy_cache_bypass $http_secret_header 로 설정해 놓은 상태 입니다.
서버상에서 소스코드를 수정해도 브라우저에서는 반영이 안되어 위 방법 이외 조치한 사항은
.git 폴더 지움(git의 저장소 때문에 소스 반영이 안된 것 같아서)
그누 관리자 접속하여 캐시 모조리 지움
브라우저 캐시 지움
입니다.
모두 다 안되네요.
파일을 삭제하면 forbidden이 나오고, 직접 만든 파일에 echo나 phpinfo 등등 파일 수정하면 정상으로 출력됩니다.
직접 만들어 올린 파일들은 수정 내용이 브라우저에 반영되어 보이고, 왜 그누 파일들만 수정된 사항이 반영이 안될까요?
파일 소유자와 그룹은 동일하고, 서버상에서 직접 수정하여 저장하여도 반영이 안됩니다.
대체 뭘 어떻게 해야할까요?
Zend OPcache 설정 내용 입니다.
Opcode Caching | Up and Running |
Optimization | Enabled |
SHM Cache | Enabled |
File Cache | Disabled |
Startup | OK |
Shared memory model | mmap |
Cache hits | 1418186 |
Cache misses | 305 |
Used memory | 16202832 |
Free memory | 50380968 |
Wasted memory | 525064 |
Interned Strings Used memory | 1635952 |
Interned Strings Free memory | 2558352 |
Cached scripts | 267 |
Cached keys | 300 |
Max keys | 3907 |
OOM restarts | 0 |
Hash keys restarts | 0 |
Manual restarts | 0 |
Directive | Local Value | Master Value |
---|---|---|
opcache.blacklist_filename | no value | no value |
opcache.consistency_checks | 0 | 0 |
opcache.dups_fix | Off | Off |
opcache.enable | On | On |
opcache.enable_cli | Off | Off |
opcache.enable_file_override | Off | Off |
opcache.error_log | no value | no value |
opcache.fast_shutdown | 0 | 0 |
opcache.file_cache | no value | no value |
opcache.file_cache_consistency_checks | 1 | 1 |
opcache.file_cache_only | 0 | 0 |
opcache.file_update_protection | 2 | 2 |
opcache.force_restart_timeout | 180 | 180 |
opcache.huge_code_pages | Off | Off |
opcache.inherited_hack | On | On |
opcache.interned_strings_buffer | 4 | 4 |
opcache.lockfile_path | /tmp | /tmp |
opcache.log_verbosity_level | 1 | 1 |
opcache.max_accelerated_files | 2000 | 2000 |
opcache.max_file_size | 0 | 0 |
opcache.max_wasted_percentage | 5 | 5 |
opcache.memory_consumption | 64 | 64 |
opcache.optimization_level | 0x7FFFBFFF | 0x7FFFBFFF |
opcache.preferred_memory_model | no value | no value |
opcache.protect_memory | 0 | 0 |
opcache.restrict_api | no value | no value |
opcache.revalidate_freq | 2 | 2 |
opcache.revalidate_path | Off | Off |
opcache.save_comments | 1 | 1 |
opcache.use_cwd | On | On |
opcache.validate_permission | Off | Off |
opcache.validate_root | Off | Off |
opcache.validate_timestamps | On | On |
답변 2
하도 오랜만에 하다보니 구조가 바뀌어서 그런거네요.
다른 파일 참조하는 코드가 있으니 해당 파일을 수정해도 안되는 것이였네요..
저도 자세히는 모르는데,
가끔 해당 디렉토리나 파일의 퍼미션이 문제가 되어 덮어쓰기가 안 되는 경우가 있어요.
퍼미션을 707이나 777 등으로 변경 후 수정 작업 해보세요.