PHP的线程安全与非线程(NTS)安全版本的区别
Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍。
从 2000年10月20日发布的第一 个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系 统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程的基础之上的,而非多线程。一般我们会把 PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个问题,很多常用的PHP扩展是以Linux/Unix的多进 程思想来开发的,这些扩展在ISAPI的方式运行时就会出错搞垮IIS。因此在IIS下CGI模式才是PHP运行的最安全方式,但CGI模式对于每个 HTTP请求都需要重新加载和卸载整个PHP环境,其消耗是巨大的。
为了兼顾IIS下PHP的效率和安全,微软给出了FastCGI的解 决方案。FastCGI可以让PHP的进程重复利用而不是每一个新的请求就重开一个进程。同时FastCGI也可以允许几个进程同时执行。这样既解决了 CGI进程模式消耗太大的问题,又利用上了CGI进程模式不存在线程安全问题的优势。
因此,如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。
转载地址:http://it.oyksoft.com/post/2027/
转载于:https://www.cnblogs.com/gzyx1988/p/4969486.html
PHP的线程安全与非线程(NTS)安全版本的区别相关推荐
- php+linux+线程安全,转:PHP的线程安全ZTS与非线程(NTS)安全版本的区别
原文来自于:http://blog.sina.com.cn/s/blog_94c21e8f0101s2ic.html Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和 ...
- PHP - 版本选择 - 线程安全与非线程安全 - 学习/实践
1.应用场景 主要用于弄清楚为什么会有线程安全与非线程安全的不同语言版本,以及这种情况是不是一直存在, 是否有解决统一的办法吗- 2.学习/操作 1.文档阅读 PHP For Windows: Bin ...
- JAVA中的线程安全与非线程安全
ArrayList和Vector有什么区别?HashMap和HashTable有什么区别?StringBuilder和StringBuffer有什么区别?这些都是Java面试中常见的基础问题.面对这样 ...
- Java多线程:线程安全和非线程安全的集合对象
转载自 Java多线程:线程安全和非线程安全的集合对象 一.概念: 线程安全:就是当多线程访问时,采用了加锁的机制:即当一个线程访问该类的某个数据时,会对这个数据进行保护,其他线程不能对其访问,直到 ...
- JAVA中的线程安全与非线程安全,java面试题,java高级笔试题
写在最前面,我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家.扫码加微信好友进[程序员面试学习交流群],免费领取.也欢迎各位一起在群里探讨技术. 转自 ...
- PHP线程安全和非线程安全的区别
Windows版的PHP从版本5.2.1开始有Thread Safe.这两者不同在于何处?到底应该用哪种?这里做一个简单的介绍. 从2000年10月20日发布的第一个Windows版的PHP3.0.1 ...
- php+linux+线程安全,PHP 线程安全与非线程安全版本的区别深入解析
从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系统是采用多线程的工作方 ...
- php mysql 线程安全_PHP 线程安全与非线程安全版本的区别深入解析
从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用多进程的工作方式不同的是Windows系统是采用多线程的工作方 ...
- Windows下的PHP开发环境搭建——PHP线程安全与非线程安全、Apache版本选择,及详解五种...
2019独角兽企业重金招聘Python工程师标准>>> 今天为在Windows下建立PHP开发环境,在考虑下载何种PHP版本时,遭遇一些让我困惑的情况,为了解决这些困惑,不出意料地牵 ...
最新文章
- Vue教程3【使用Vue脚手架】render ref props minin scoped $emit $bus 消息订阅发布 动画
- Docker 健康检查功能
- react源码总览(翻译)
- POJ 2253 Frogger(最短路Floyd)题解
- SAP、IFS、Maximo三产品在EAM角度的比较Lenon系列
- HanLP 关键词提取算法分析详解
- 【李宏毅机器学习】Classification_1 分类(p10) 学习笔记
- laravel 图片流_Laravel 之添加图片水印
- 无惧上代信号差诟病?谷歌Pixel 7系列继续搭载三星基带芯片
- java生成不重复随机数_生成不重复随机数 java
- Chrome 45 减少了内存占用
- html 点击 重置 单选,单选按钮上需要的Html 5不会重置(Html 5 required on radio button wil not reset)...
- 利用css做导航栏,利用CSS制作导航栏
- 串级控制MATLAB实验报告,串级控制系统实验报告.docx
- 计算机网络自学指南,简直太全了!
- 读懂职场则规潜 潜伏者的上位秘诀
- 欲为苍鹰,勿与鸟鸣, 欲为强者,莫与弱争!
- 联通笔试真题(有答案)
- 用php实现加减乘除计算器,利用php怎么编写一个加减乘除计算器
- 常用颜色的RGB分布