Найти, если установленный PHP является потокобезопасным или небезопасным?
Как узнать, является ли установленная версия PHP потокобезопасной или нет потокобезопасной?
Обратите внимание, что я не задаю разницу между потоковой безопасностью и безопасностью без потоковой передачи. Я хотел бы узнать, что установлено в настоящее время.
Ответы
Ответ 1
Откройте phpinfo() и найдите строку "Безопасность потока". Для потокобезопасной сборки вы должны найти разрешение.
Как указано в комментариях Мухаммад Гелбана, вы также можете использовать:
- В Windows:
php -i|findstr "Thread"
- Вкл. * nix:
php -i|grep Thread
Ответ 2
Если вы предпочитаете использовать командную строку:
Это должно дать вам что-то вроде этого:
Thread Safety => enabled
или
Thread Safety => disabled
Ответ 3
Создайте новый PHP файл и вставьте в него этот код:
<?php
phpinfo(); ?>
Затем запустите эту страницу, и вы найдете всю информацию о PHP. Найдите нужный вам термин, и он покажет вам, что он включен.
Ответ 4
Из script:
/**
* @return boolean true if PHP is thread safe
*/
function isThreadSafe()
{
ob_start();
phpinfo(INFO_GENERAL);
return preg_match('/Thread\s*Safety\s*enabled/i', strip_tags(ob_get_clean()));
}
Ответ 5
Мне просто проще просмотреть файл с именем php [version].dll в корневой папке php. Его либо php [версия].dll, либо php [версия] ts.dll(ts для Thread Safe). Итак, если у вас установлен php7.0.10, перейдите в каталог с таким именем, и вы найдете файл php7ts.dll. Это очень печальный способ узнать, но он работает!
Ответ 6
Проверьте, установлена ли ваша установка Apache Module или CGI Binary. См. Вопрос о переполнении стека Что такое поточно-безопасное или не потоковое в PHP?.