欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP线程安全和非线程安全版本的区别

程序员文章站 2022-05-22 15:49:38
...
我在在php管方下载php版时会看到有一个,None-Thread Safe与Thread Safe版了,那么这两个版本到底有什么区别,但仔细一下看面有介绍是建义我们使用线程安全,而非线程序安全用于测试。

先从字面意思上理解,None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查;Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。

再来看PHP的两种执行方式:ISAPI和FastCGI。FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(无论搭配 IIS 6 或 IIS 7)执行 PHP ,都建议下载、执行 non-thread safe 的 PHP (PHP 的二?位?n有?煞N包?方式:msi 、zip ,?下? zip 套件)。而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

说到这里,大家应该知道应该如何选择哪个版本的PHP了。None-Thread Safe or Thread Safe,您会选择哪个?

最后总结

1.Non Thread Safe(非线程安全)版本php适用在使用CGI以及fastCGI的web服务器上,如nginx,lighttpd以及IIS的CGI模式下

2.Thread Safe(线程安全)版本php适用在使用ISAPI或者module的web服务器上,如IIS的ISAPI模式或者apache module模式