PHP Thread Safe 和 Non-Thread Safe for Windows
2022-08-30 07:27:21
我正在下载适用于 Windows 的 PHP。我在网站上有2个选项。
- PHP 线程安全
- PHP 非线程安全
请回答以下问题:
- 两者之间有什么区别?彼此相比有哪些优点和缺点?
- 我正在开发一个电子商务网站,它将有很大的流量,哪一个更推荐,为什么?
我正在下载适用于 Windows 的 PHP。我在网站上有2个选项。
请回答以下问题:
来自 PHP 文档:
线程安全意味着二进制文件可以在多线程Web服务器上下文中工作,例如Windows上的Apache 2。线程安全的工作原理是在每个线程中创建本地存储副本,以便数据不会与另一个线程冲突。
那么我该选择什么呢?如果您选择将 PHP 作为 CGI 二进制文件运行,则不需要线程安全,因为二进制文件在每次请求时都会被调用。对于多线程 Web 服务器(如 IIS5 和 IIS6),应使用线程版本的 PHP。
所以这真的取决于你想使用PHP的方式:
LoadModule
PHP手册有很好的安装说明。
AFAIR使用FastCGI运行PHP是更好的方法,它执行速度更快,并允许更细粒度的安全配置。
快速而简单:如果您使用的是Apache,请编辑Apache24\conf\httpd.conf文件并搜索“loadmodule”。如果您看到 loadmodule 正在引用一个.dll如下所示:
LoadModule php7_module “e:/x64Stack/PHP/php7.1.9/php7apache2_4.dll”
AddHandler application/x-httpd-php .php
PHPIniDir “e:/x64Stack/PHP/php7.1.9”
然后,您需要启用线程安全或 TS - 线程安全版本。
否则,如果您将IIS或Apache与CGI一起使用,那么NTS风格。
我使用多个堆栈,并在这些多个服务器和PHP版本中,所以不要让路径/ php或服务器版本抛出你。