설치된 PHP 버전이 스레드로부터 안전한지 여부를 어떻게 알 수 있습니까?
스레드 세이프 / 비 스레드 세이프 설치의 차이점을 묻는 것이 아닙니다. 현재 설치된 것이 무엇인지 알고 싶습니다.
설치된 PHP 버전이 스레드로부터 안전한지 여부를 어떻게 알 수 있습니까?
스레드 세이프 / 비 스레드 세이프 설치의 차이점을 묻는 것이 아닙니다. 현재 설치된 것이 무엇인지 알고 싶습니다.
답변:
phpinfo ()를 열고 Thread safety 라인을 검색하십시오 . 스레드로부터 안전한 빌드의 경우 enable 을 찾아야 합니다 .
Muhammad Gelbana 의 주석에 지정된 대로 다음을 사용할 수도 있습니다.
php -i|findstr "Thread"
php -i|grep Thread
php -i|find "Thread"
* nix :php -i|grep Thread
php -i | find "Architecture"
x86인지 x64인지 확인
php -i | grep Architecture
php의 루트 폴더에있는 php [version] .dll 파일을 보는 것이 더 쉽습니다. php [version] .dll 또는 php [version] ts.dll (ts는 스레드 세이프를 의미)입니다. 따라서 php7.0.10이 설치되어있는 경우이 이름이있는 디렉토리로 이동하면 php7ts.dll이라는 파일을 찾을 수 있습니다. 이것은 알아내는 매우 슬픈 방법이지만 작동합니다!
그리고 문서화되지 않은 ZEND_THREAD_SAFE
상수가 있는데, PHP 4.3 이후로 존재하는 것 같습니다.
<?php
if (ZEND_THREAD_SAFE) {
echo 'Thread safe';
} else {
echo 'Not thread safe';
}
설치가 Apache Module 또는 CGI Binary인지 확인하십시오. 스택 오버플로 질문 PHP에서 스레드 안전 또는 비 스레드 안전이란 무엇입니까?를 참조하십시오 . .