我正在下载Windows的PHP。我在网站上有2个选择。
- PHP线程安全
- PHP非线程安全
请回答以下问题:
- 两者有什么区别?彼此之间的优缺点是什么?
- 我正在开发一个电子商务网站,该网站的流量很大,更推荐哪个网站,为什么?
Answers:
从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 - Thread Safe版本。
否则,如果您将IIS或Apache与CGI一起使用,则使用NTS风格。
我使用了多个堆栈,并且在多个服务器和PHP版本中使用了多个堆栈,所以不要让路径/ php或服务器版本抛出您。
除了Crack,从5.4开始,您可以使用内置的Web服务器(效果很好!)。
php -S ip:port
)–尽管不知道与线程安全的关系。