PHP потокобезопасный и не потокобезопасный для Windows
я загружаю PHP для Windows. У меня есть 2 варианта на сайте.
- PHP Thread Safe
- PHP Non-Thread Safe
пожалуйста, ответьте на следующие вопросы:
- в чем разница между ними? Каковы преимущества и недостатки друг над другом?
- Я разрабатываю сайт электронной коммерции, который будет иметь большой трафик, какой из них более рекомендуется и почему?
3 ответа:
из документации PHP:
потокобезопасность означает, что двоичный файл может работать в многопоточном контексте веб-сервера, например Apache 2 в Windows. Потокобезопасность работает путем создания локальной копии хранилища в каждом потоке, чтобы данные не сталкивались с другим потоком.
Так что же мне выбрать? Если вы решите запустить PHP как двоичный файл CGI, то вам не понадобится потокобезопасность, потому что двоичный файл вызывается при каждом запросе. Для многопоточных веб-серверов, таких как IIS5 и IIS6, вы должны использовать потоковую версию PHP.
Так что это действительно зависит от того, что вы хотите использовать PHP:
- Apache +
LoadModule
: Потокобезопасным- Apache + FastCGI: Non-Thread Safe
- IIS: потокобезопасный
- IIS + FastCGI: Non-Thread Safe
PHP руководство имеет хороший инструкция по установке.
AFAIR запуск PHP с FastCGI является предпочтительным таким образом, он работает быстрее и позволяет более мелкозернистой конфигурации безопасности.
В дополнение к трещине, поскольку 5.4 вы можете использовать встроенный веб-сервер (он работает хорошо!).
быстро и просто: если вы используете Apache редактировать Apache24\conf\httpd.файл conf и поиск "loadmodule". Если вы видите, что ваш loadmodule ссылается на a .dll что-то вроде:
LoadModule php7_module "e:/x64Stack/PHP/php7.1.9/php7apache2_4.DLL-файл"
Приложение AddHandler / x-httpd-php .php
PHPIniDir "e:/x64Stack/PHP/php7.1.9"затем вы хотите потокобезопасность включена или TS -Потокобезопасным версия.
иначе, если вы используете IIS или Apache с CGI, то NTS flavor.
Я использую несколько стеков и внутри этих нескольких серверов и версий PHP, так что не позволяйте пути / php или версии сервера бросить вас.