설치된 PHP가 스레드세이프인지 스레드세이프인지 비스레드세이프인지 알아보시겠습니까?
설치된 버전의 PHP가 스레드 세이프인지 아닌지는 어떻게 알 수 있습니까?
스레드 세이프 설치와 스레드 세이프 설치의 차이를 묻는 것이 아닙니다.현재 무엇이 설치되어 있는지 알고 싶습니다.
phpinfo()를 열고 Thread safety 행을 검색합니다.스레드 세이프 빌드를 사용하려면 enable을 찾아야 합니다.
Muhammad Gelbana의 코멘트에 기재되어 있는 바와 같이, 다음의 것도 사용할 수 있습니다.
- Windows 의 경우:
php -i|findstr "Thread" - *nix의 경우:
php -i|grep Thread
명령줄 사용을 원하는 경우:
*nix:
php -i | grep -i "Thread"Windows:
php -i | findstr -i "thread"
다음과 같은 결과를 얻을 수 있습니다.
Thread Safety => enabled
또는
Thread Safety => disabled
php[version]라는 이름의 파일을 보는 것이 더 쉬울 뿐입니다.php의 루트 폴더에 dll이 있습니다.php[버전] 중 하나입니다.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';
}
새 PHP 파일을 만들고 이 파일에 다음 코드를 삽입합니다.
<?php
phpinfo(); ?>
그런 다음 이 페이지를 실행하면 모든 PHP 정보를 찾을 수 있습니다.원하는 용어를 검색하면 활성화된 것으로 표시됩니다.
Apache Module인지 CGI Binary인지 확인합니다.스택 오버플로우 질문 PHP에서 스레드 세이프 또는 스레드 이외 세이프란?를 참조하십시오.
그것을 확인하는 또 다른 방법은php -v또는php --version. 광산(NTS)의 예:
$ php --version
PHP 7.3.25-1+ubuntu20.04.1+deb.sury.org+1 (cli) (built: Dec 26 2020 10:32:51) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.25, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.3.25-1+ubuntu20.04.1+deb.sury.org+1, Copyright (c) 1999-2018, by Zend Technologies
언급URL : https://stackoverflow.com/questions/5799843/find-if-the-installed-php-is-threadsafe-or-nonthreadsafe
'programing' 카테고리의 다른 글
| 판다의 복잡한 기준으로 선정.데이터 프레임 (0) | 2023.01.26 |
|---|---|
| Pyspark: 예외: Java 게이트웨이 프로세스가 종료된 후 드라이버에 포트 번호를 전송합니다. (0) | 2023.01.26 |
| 콘다는 어떻게 운영하나요? (0) | 2023.01.26 |
| 퍼블릭, 프라이빗 및 프로텍트의 차이점은 무엇입니까? (0) | 2023.01.26 |
| 지정된 문자열에서 서브스트링을 삭제하려면 어떻게 해야 합니까? (0) | 2023.01.26 |