2026년 10월 23일
PHP에서 심각한 보안 취약점이 발견됐다는 소식을 보고, 제 워드프레스도 확인했습니다. 명령어로 확인한 PHP는 8.5.9였습니다. 보안 문제가 수정된 8.5.12로 올리기 위해 Codex에 업데이트를 맡겼습니다.
발표 내용은 PHP 공식 공지, 설치 방법은 공식 다운로드 안내에서 확인할 수 있습니다.
그런데 작업 도중 블로그가 열리지 않았습니다.
제 맥미니는 외장 SSD에 워드프레스 파일을 저장해 두고 사용합니다. 이번에는 업데이트 과정에서 함께 바뀐 웹서버가 SSD 접근 허용을 기다리면서 접속이 막혔습니다.
외장하드나 SSD에 사이트 자료를 두고 있다면, 웹서버가 그 자료를 읽을 수 있는지도 확인해야 합니다.
PHP를 올렸는데 Apache도 바뀌었습니다
블로그에 접속하면 방문자의 요청을 받아 페이지를 보내주는 프로그램이 필요합니다. 제 맥미니에서는 Apache라는 웹서버가 그 일을 합니다.
업데이트에 사용한 Homebrew는 프로그램을 설치하고 관리하는 도구입니다. PHP를 업데이트하는 과정에서 관련 프로그램인 Apache도 함께 갱신됐습니다. 당시 설치 기록을 보니 Apache가 2.4.69_1로 바뀌어 있었습니다.
Homebrew 공식 설명에도 한 프로그램을 업데이트하면 연결된 다른 프로그램까지 갱신될 수 있다고 나옵니다. 이번에는 PHP만 바뀐 것이 아니었습니다.
일단 블로그부터 다시 열리게 했습니다
Codex는 기존 Apache를 사용하는 환경에서 사이트를 먼저 복구했습니다. 메인 블로그와 AI 블로그에 다시 접속할 수 있었고, 원래 글도 정상적으로 나왔습니다.
다만 이때 사이트에서 쓰던 PHP는 여전히 8.5.9였습니다. 블로그는 다시 열렸지만, 처음 하려던 보안 업데이트는 마저 진행해야 했습니다.
| 진행 단계 | PHP 버전 | 결과 |
|---|---|---|
| 업데이트 시작 | 명령어용 8.5.9 | 보안 패치 필요 |
| 사이트 우선 복구 | 웹에서 8.5.9 | 블로그 접속 복구 |
| 작업을 마친 뒤 | 웹에서 8.5.12 | 패치 적용과 정상 접속 확인 |
새 웹서버가 SSD 접근 허용을 기다리고 있었습니다
SSD는 맥미니에 연결돼 있었습니다. 하지만 웹서버가 SSD 안의 파일을 읽을 수 있도록 허용됐는지는 따로 확인해야 했습니다.
macOS는 프로그램이 특정 파일이나 저장장치에 접근할 때 권한을 확인합니다. Apple의 보안 안내에도 이동식 저장장치가 파일 접근 보호 대상에 포함돼 있습니다.
자료가 있는 창고에 새 직원이 왔다고 생각하면 쉽습니다. 창고와 자료는 그대로지만, 새 직원의 출입 승인이 끝나지 않으면 자료를 가져오지 못합니다.
이번에는 새 Apache가 그 직원과 같았습니다. 외장 SSD에 접근해도 되는지 묻는 요청이 끝나지 않아 기다리고 있었고, 그 때문에 블로그 요청도 멈췄습니다.

Codex가 당시 실행 기록을 살펴보니, 사용자 알림의 응답을 기다리는 부분과 접근 권한을 처리하는 부분에서 대기가 확인됐습니다. 기록에 나온 이름은 CFUserNotificationReceiveResponse와 tccd_send_message입니다. 여기에 새 Apache의 SSD 접근 요청 기록을 함께 대조했습니다.
예전 Apache에는 이미 SSD 접근이 허용돼 있었습니다. 하지만 새 요청이 끝나지 않으면서 예전 Apache의 요청도 그 뒤에 묶여 있었습니다. 예전 버전으로 돌리는 것과 함께, 끝나지 않은 승인 요청도 정리해야 했습니다.
승인 요청을 정리한 뒤 패치까지 마쳤습니다
Apache는 기존에 사용하던 2.4.68을 유지했습니다. PHP는 8.5.12를 적용하기로 하고, 별도의 로컬 시험 서버에서 기존 설정으로 정상 작동하는지 먼저 시험했습니다.
SSD 접근 문제는 Mac에서 권한 요청을 담당하는 프로그램을 다시 시작해 해결했습니다. 응답 없이 기다리던 요청을 취소해 대기를 풀어준 것입니다.
PHP를 교체한 웹서버도 완전히 종료했다가 다시 실행해야 했습니다. 설정만 다시 읽게 하는 방식으로는 정상 작동하지 않았습니다.
마지막으로 평소 사용하던 자동 실행 서비스로 돌아가 블로그를 확인했습니다. 임시로 실행했을 때만 되는 것이 아니라, 원래대로 운영해도 정상적으로 열려야 했기 때문입니다.
최종적으로 홈페이지에서 쓰는 PHP는 8.5.12로 확인됐습니다. 명령어용 PHP와 별도로 실행하는 PHP-FPM도 같은 버전이었습니다. Apache는 2.4.68로 실행됐고, 메인·AI 블로그에서 정상 응답과 원래 본문이 나오는 것까지 확인했습니다.
맥 전체를 재부팅하거나 모든 접근 권한을 초기화하지 않고 작업을 마쳤습니다.
비슷한 문제가 생겼다면 어디부터 볼까요?
외장 저장장치에 사이트를 두고 있다면, 먼저 업데이트 기록에서 웹서버도 바뀌었는지 확인합니다. Apache는 httpd라는 이름으로 표시되기도 합니다.
그다음에는 바뀐 웹서버가 외장 드라이브에 접근하도록 허용돼 있는지, 접근 요청이 응답을 기다리고 있지는 않은지 확인해야 합니다.
앱별 파일 접근 권한은 ‘시스템 설정 → 개인정보 보호 및 보안 → 파일 및 폴더’에서 볼 수 있습니다. Apple의 설정 안내를 참고하면 됩니다.
터미널에서 SSD를 열 수 있다고 웹서버도 읽을 수 있는 것은 아닙니다. 설정 화면만으로 알 수 없다면, 서버 관리자가 실제로 실행 중인 Apache와 권한 요청 기록을 함께 확인해야 합니다.
이번에 제가 사용한 장치는 외장 SSD였습니다. 외장하드에서도 같은 장애가 발생했다고 확인한 것은 아닙니다. 제 환경에서는 SSD 접근 승인 요청이 끝나지 않은 것이 원인이었고, 그 대기를 풀어 복구했습니다.
블로그가 다시 열린 뒤에는 PHP 패치도 마저 적용됐는지 확인했습니다. 접속 복구와 보안 업데이트, 두 가지를 모두 확인하고 나서야 작업이 끝났습니다.