PHP는 웹 개발에 널리 사용되는 스크립팅 언어입니다. 컴파일 된 언어와 달리 PHP 코드는 런타임에 동적으로 구문 분석해야합니다. PHP 통역사는 실행중인 환경을 제공하며 두 가지 주요 실행 모드의 스레드-안전 (TS)과 비 스레드-안전 (NTS)이 있습니다. TS 모드의 PHP 통역사는 스레드 안전을 보장하기 위해 다중 스레드 환경을 지원합니다. NTS 모드는 다중 스레드를 지원하지 않으며 단일 스레드 환경에 적합합니다.
두 모드 모두 동일한 확장 라이브러리를 사용할 수 있지만 확장자 라이브러리는 스레드 안전 유형의 PHP와 일치해야합니다. 그렇지 않으면 런타임에 불안정하거나 오류가 발생합니다.
다음으로, 현재 PHP 환경이 TS 또는 NTS 모드인지 확인하는 방법을 소개합니다.
Linux 또는 Unix-Like Systems에서는 명령 줄 또는 php.ini 구성 파일을 사용하여 Php가 스레드-안전 모드인지 확인할 수 있습니다.
터미널을 열고 다음 명령을 실행하십시오.
php -i | Grep '스레드 안전'
명령이 실행되면 출력이 비슷합니다.
스레드 안전 => 비활성화
결과가 활성화 된 것으로 표시되면 PHP가 Threst-Safe (TS) 버전임을 의미합니다. 그렇지 않으면, 그것은 비 스레드-안전 (nts)입니다.
php.ini 파일을 열고 키워드 스레드 안전을 검색하십시오. 일반적으로 TS 모드의 관련 구성 컨텐츠는 다음과 같습니다.
; ; 실 안전 ; 기본값 : 활성화 ; 개발 가치 : 활성화 ; 생산 가치 : 활성화
위와 유사한 주석이 나타나고 기본 또는 개발 환경 값이 활성화되면 PHP가 스레드 안전 버전을 실행하고 있음을 의미합니다.
PHP가 스레드 안전 모드가 아닌 경우 기본값은 비 스레드-안전 모드입니다. 다음 명령 줄 스크립트를 통해 추가 확인이 이루어질 수 있습니다.
php -r 'echo (php_sapi_name () === "cli"&&! empty (ini_get ( "disable_dl")))? "비 스레드-스페인 \ n": "스레드-안전 \ n"; '
출력 결과가 비 스레드-안전한 경우 PHP가 NTS 모드임을 의미합니다.
PHP의 스레드 안전 유형을 이해하는 것은 개발 환경 구성 및 확장 라이브러리 호환에 매우 중요합니다. 명령 줄을 통해 php.ini 파일을 보면 PHP가 TS 또는 NTS 버전을 실행 중인지 여부를 신속하게 확인하여 버전 불일치로 인한 오류가 발생하지 않습니다. 확장자를 설치할 때 확장 버전이 PHP 스레드-안전 유형과 일치하여 안정적이고 안정적인 환경을 보장하는 것이 좋습니다.