PHP线程安全和非线程安全的Windows
我正在下载Windows的PHP。 我在网站上有2个选项。
- PHP线程安全
- PHP非线程安全
请回答以下问题:
- 两者有什么区别? 彼此有什么优点和缺点?
- 我正在开发一个电子商务网站,这个网站stream量很大,哪个更受推荐,为什么?
从PHP文档:
线程安全意味着二进制文件可以在multithreading的web服务器上下文中运行,例如Windows上的Apache 2。 线程安全通过在每个线程中创build本地存储副本来工作,以便数据不会与另一个线程冲突。
那么我select什么? 如果您select将PHP作为CGI二进制文件运行,那么您将不需要线程安全性,因为二进制文件在每个请求时都会被调用。 对于multithreading的Web服务器,例如IIS5和IIS6,应该使用PHP的线程版本。
所以这真的取决于你想使用PHP的方式:
- Apache +
LoadModule
:线程安全 - Apache + FastCGI:非线程安全
- IIS:线程安全
- IIS + FastCGI:非线程安全
PHP手册有很好的安装说明 。
使用FastCGI运行PHP的AFAIR是更好的方法,它执行得更快,并允许更细粒度的安全configuration。
除了Crack,从5.4开始,你可以使用内置的web服务器(它工作的很好!)。
快速而简单:如果您使用的是Apache,请编辑您的Apache24 \ conf \ httpd.conf文件并search“loadmodule”。 如果你看到你的loadmodule正在引用.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风味。
我使用多个堆栈,并在这些多个服务器和PHP版本,所以不要让path/ PHP或服务器版本抛出你。