Подтвердить что ты не робот

Найти, если установленный PHP является потокобезопасным или небезопасным?

Как узнать, является ли установленная версия PHP потокобезопасной или нет потокобезопасной?

Обратите внимание, что я не задаю разницу между потоковой безопасностью и безопасностью без потоковой передачи. Я хотел бы узнать, что установлено в настоящее время.

4b9b3361

Ответ 1

Откройте phpinfo() и найдите строку "Безопасность потока". Для потокобезопасной сборки вы должны найти разрешение.

Как указано в комментариях Мухаммад Гелбана, вы также можете использовать:

  • В Windows: php -i|findstr "Thread"
  • Вкл. * nix: php -i|grep Thread

Ответ 2

Если вы предпочитаете использовать командную строку:

  • * Никс:

    /path/to/php.exe -i | grep -i "Thread"
    
  • Окна:

    php -i | findstr -i "thread"
    

Это должно дать вам что-то вроде этого:

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. Это очень печальный способ узнать, но он работает!