>백엔드 개발 >PHP 문제 >php nts는 무슨 뜻인가요?

php nts는 무슨 뜻인가요?

藏色散人
藏色散人원래의
2021-07-27 10:38:122542검색

php nts는 "None-Thread Safe"를 의미하며, 이는 PHP에서 빠른 cgi 모드로 실행할 때 더 나은 성능을 위해 nts 버전을 선택하세요.

php nts는 무슨 뜻인가요?

이 글의 운영 환경: windows7 시스템, PHP7.1 버전, DELL G3 컴퓨터

php nts 무슨 뜻인가요?

NTS는 None-Thread Safe를 의미합니다. 일반적으로 이 버전은 더 나은 성능을 제공하는 빠른 CGI 모드에서 실행될 때 선택됩니다.

TS는 Thread Safety, 즉 스레드 안전성을 의미합니다. 이 버전은 일반적으로 IIS가 ISAPI 모드로 로드될 때 선택됩니다.

특정 사항:

2000년 10월 20일에 출시된 PHP 3.0.17의 첫 번째 Windows 버전부터 모든 버전은 Linux/Unix 시스템이 다중 프로세스 작업 방법을 사용하기 때문에 스레드로부터 안전합니다. Windows 시스템은 다중 스레드 작업 방법을 사용합니다. IIS에서 CGI 모드로 PHP를 실행하면 속도가 매우 느려집니다. 이는 CGI 모드가 다중 스레드가 아닌 다중 프로세스를 기반으로 하기 때문입니다. 일반적으로 ISAPI 모드에서 실행되도록 PHP를 구성합니다. ISAPI는 훨씬 빠른 다중 스레드 모드입니다. 그러나 일반적으로 사용되는 많은 PHP 확장은 Linux/Unix의 다중 프로세스 사고를 기반으로 개발되었습니다. 이러한 확장이 ISAPI 모드에서 실행되면 잘못되어 IIS가 다운됩니다. 따라서 CGI 모드는 IIS에서 PHP를 실행하는 가장 안전한 방법이지만 CGI 모드는 각 HTTP 요청에 대해 전체 PHP 환경을 다시 로드하고 언로드해야 하며 그 소비가 엄청납니다.

IIS에서 PHP의 효율성과 보안을 고려하기 위해 Microsoft는 FastCGI 솔루션을 제공했습니다. FastCGI를 사용하면 새로운 요청이 있을 때마다 프로세스를 다시 여는 대신 PHP 프로세스를 재사용할 수 있습니다. 동시에 FastCGI에서는 여러 프로세스를 동시에 실행할 수도 있습니다. 이는 CGI 프로세스 모드의 과도한 사용 문제를 해결할 뿐만 아니라 CGI 프로세스 모드에 스레드 안전 문제가 없다는 사실도 활용합니다.

따라서:

ISAPI를 사용하여 PHP를 실행하는 경우 스레드 안전(스레드 안전) 버전을 사용해야 합니다.

FastCGI 모드를 사용하여 PHP를 실행하는 경우 스레드 안전 검사를 사용할 필요가 없습니다. 없음을 사용하세요. 스레드 안전(NTS, 비 스레드 안전) 버전은 효율성을 더 향상시킬 수 있습니다.

phpinfo()를 통해 스레드 안전 항목을 확인하세요. 이 항목은 스레드 안전 여부를 확인하는 것입니다. 활성화된 경우 일반적으로 ts 버전이어야 하며, 그렇지 않으면 nts 버전입니다.

A: PHP 설치 파일을 다운로드할 때 http://windows/download/ 페이지에 나열된 것처럼 Non Thread Safe 및 Thread Safe와 같은 두 가지 다른 바이너리 파일이 있다는 것을 확인했습니다. 이것은 무엇을 의미하며 이들 사이의 차이점은 무엇입니까?

위 링크에서도 차이점을 확인하실 수 있습니다.

Q: 주로 웹 서버용입니다. Windows 환경에서 사용하는 웹 서버가 Apchae 또는 iis 7 이하인 경우 Fast-cgi 모드를 사용하는 경우 스레드 안전 설치 파일을 선택해야 합니다. 스레드가 아닌 안전성. 웹 서버 자체가 스레드 안전성을 보장할 수 있기 때문입니다.

Q: 위에서 언급한 것처럼 웹 서버용입니다. 일부 웹 서버는 애플리케이션 요청을 처리할 때 다중 프로세스 대신 다중 스레딩을 사용하므로 오류가 발생하는 경우가 매우 쉽습니다. , 프로그램은 레지스터에 있는 데이터의 일관성을 처리하기 위해, 즉 스레드 안전성을 보장하기 위해 약간의 추가 경험을 소비해야 합니다.

물론 바이너리 파일을 컴파일할 때 사용하는 컴파일러도 있습니다: vc9(vs 시리즈) vc6(gcc)

그래서 스레드 안전성을 사용할지 여부는 주로 웹 서버에서 사용하는 PHP 요청 처리 방법에 따라 다릅니다. 다중 스레드 처리를 수행하려면 스레드 안전을 선택하고, 그렇지 않으면 스레드 안전하지 않음을 선택하십시오. 위에서 언급한 것처럼 Fast-cgi 모드는 스레드 안전하지 않음을 선택할 수 있습니다.

【추천 학습: PHP 비디오 튜토리얼

위 내용은 php nts는 무슨 뜻인가요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.