你知道php的TS和NTS有哪些区别吗? ts版是什么意思
文章插图
【你知道php的TS和NTS有哪些区别吗? ts版是什么意思】ts是什么意思(你知道php中TS和n TS的区别吗?)
Ts(线程安全)指的是线程安全 。多线程访问时,采用锁定机制 。当一个线程访问这个类的某些数据时,它是被保护的,在这个线程读完之前,其他线程不能访问,其他线程也不能使用 。不会出现数据不一致或者数据污染的情况 。当php以ISAPI模式加载时,选择此版本 。当php以ISAPI模式加载时,选择此版本 。
Nts(N信息资源网络单线程安全)的意思是非线程安全,即不提供数据访问保护 。有可能多个线程一个接一个地更改数据,导致脏数据 。php运行在快速cgi模式时选择这个版本,性能更好 。
isapi(internet server application programming interface)通常由http server加载,以服务器模块的形式运行,由微软提出,所以只能在win平台上运行,比如win下的Apache和IIS据说快速cgi工作更稳定],而linux上的ph信息资源网P以Apache模块或php-fpm的形式运行 。
CGI(公共网关接口):HTTP服务器与您或其他机器上的程序“对话”的工具 。说白了,cig就是一种可以和服务器沟通的后台语言 。此时,php是作为一个独立的程序运行的 。以内存消耗为特征 。
快速cgi 。是一个万岁的CGI,可以一直执行,只要激活,每次都不会花时间分叉 。该方法是CGI的开放扩展,具有语言无关和可扩展的架构,其主要行为是将CGI解释器进程保存在内存中,从而获得更高的性能 。
ISAPI的执行方式是以DLL动态库的形式,在用户请求后才能执行,处理完一个用户请求后不会马上消失,所以需要进行线程安全检查来提高程序的执行效率 。所以如果PHP是ISAPI执行,建议选择ThreadSafe版本 。
但是FastCGI是单线程执行的,所以不需要进行线程安全检查 。反而可以通过去掉线程安全检查的保护来提高执行效率 。因此,如果使用FastCGI执行PHP,建议选择非线程安全版本 。
传递phpinfo();检查线程信息资源网络的安全项 。这一项是检查它是否是线程安全的 。如果启用,一般应该是ts版本,否则就是nts版本 。
推荐阅读
- 一文带你了解 HTTP 黑科技
- 如何加密你的 Python 代码
- Nginx 热部署和日志切割,你学会了吗?
- 这一次,让你完全理解 HTTPS 到底是如何做到数据传输安全的
- 程序员告诉你微信营销号如何防封、解封
- 黑客是如何控制你手机的?出现这几种情况,你的手机可能已中招
- 一文教会你如何申请ios开发者账号
- 太极四大步法 教你轻松练好太极拳
- 太极的好处你还不知道你吗?那你就out了
- 老人练习太极拳时的注意事项 你避开了吗