티스토리 뷰
Study
php(피에이치피) Windows(윈도우) 설치 Non-Thread Safe(논쓰레드 세이프)와 Thread Safe(쓰레드 세이프) 차이
메디츠 2023. 2. 14. 08:13반응형
예전에는 php가 오로지 Thread Safe 버전만 빌드. php는 기본적으로 멀티 프로세스 방식만을 지원. 이는 기존 리눅스/유닉스 계열 역시 멀티 프로세스 방식이었기 때문이었음.
멀티쓰레드 방식인 윈도우 계열에 이 TS 버전을 빌드하게 되면서 문제가 생기게 되었다.
php를 윈도우 WAS인 IIS와 연동하기 위해서는 CGI(or FastCGI) 또는 ISAPI(Internet Server API) 방식으로 연동을 해야 하는데, 기존까지 php와 관련된 모듈들의 대부분이 멀티 프로세스 방식으로 개발되었기 때문에 멀티 쓰레드 방식으로 개발된 ISAPI로 연동하였을 경우 서버가 다운되는 현상이 발생.
안정적인 방법으로 CGI 방식으로 변경하여 사용했으나 퍼포먼스가 안나와서 이를 개선하기 위해 나온 버전이 바로 Non-Thread Safe 버전.
TS - Apache. 다중 스레드 가능 빌드로서 멀티 스레드 SAPI(Server API)와 PHP를 웹서버에 로드할 경우에는 TS 바이너리를 사용.
NTS - IIS. 단일 스레드 전용 빌드로서 멀티 스레딩을 사용하지 않고 CGI or FastCGI 프로토콜을 통한 웹서버를 사용할 경우 NTS 바이너리를 사용.
반응형
'Study' 카테고리의 다른 글
Tistory(티스토리) Icon(아이콘) 변경 (0) | 2023.02.23 |
---|---|
ChatGPT(챗지피티)가 답변한 Python(파이썬) 코드 (0) | 2023.02.21 |
Java(자바) JDK(Java Development Kit) 설치 및 설정 (0) | 2023.02.12 |
Synology(시놀로지) NAS(나스) 관련 (0) | 2023.02.12 |
Java(자바) Oracle(오라클) 접속 (0) | 2023.02.12 |
댓글