PHP版本中TS版和NTS版如何选择呢?
发布时间:2023-04-19 13:17:54 所属栏目:PHP教程 来源:
导读:在这篇文章中我们来了解一下“PHP版本中TS版和NTS版如何挑选呢?”,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往
在这篇文章中我们来了解一下“PHP版本中TS版和NTS版如何挑选呢?”,一些朋友可能会遇到这方面的问题,对此在下文小编向大家来讲解,内容详细,易于理解,希望大家阅读完这篇能有收获哦,有需要的朋友就往下看吧! 一、序言 在PHP 开发和生产环境搭建过程中,需要安装PHP语言解析器。官方提供了2种类型的版本, 线程安全 (TS)版和非线程安全(NTS)版,有时后我们 开发环境 和实际生产的环境有所不同,因此也需要选择安装对应的PHP版本。 二、 简介 TS(Thread-Safety)即线程安全, 多线程 访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染php以ISAPI方式加载的时候选择这个版本,php以ISAPI方式加载的时候选择这个版本. NTS(None-Thread Safe)即非线程安全,就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的是脏数据php以fast- CGI 方式运行的时候选择这个版本,具有更好的性能; ISAPI(Internet Server Application Programming Interface), 通常是指被http服务器所加载,以服务器的模块形式运行,由微 软提出,故只能在win平台上运行,如win下的 Apache ,iis[用fast cgi 方式工作更稳定],而linux上php 则以 Apache模块(常用方式)或者 php-fpm (该方式更适合于 Nginx +PHP 运行)的方式运行。 CGI(Common Gateway Interface):HTTP服务器与客户端机器上的程序进行“交谈”的一种工具,简而言之,cig就是一种 后台语言,可以与服务器进行通讯。此时的php是作为一个独立的程序运行的,特点就是耗费内存。 FAST-CGI是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后,不会每次都要花费时间去fork一个新进程。这种方式 是与语言无关的、可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较 高的性能。 三、选择 通常win下 PHP + Apache 组合,以 ISAPI 的方式运行。 而linux下通常分为2种: Apache + PHP,PHP一般作为Apache 的模块进行运行; Nginx + PHP ,以 php的Fast-cgi的方式,即php-fpm的方式运行,该方式对高并发、高负载有良好的性能体现,因此很多网站采用该方式进行环境的搭建。 Nginx 较Apache 的配置要少很多,因此人为出错的概率要少一点,但也因此 Apache 的 稳定性要比Nginx 高。 四、 总结 以 ISAPI 方式运行就用 TS 线程安全版 以 FAST-CGI 或 PHP-FPM 方式运行就用NTS 非线程安全版 通常 Windows 下 Apache + PHP 选TS ,IIS(fast-cgi) + PHP 选TNS 通常Linux 下 Apache + PHP 选TS,Nginx + PHP 选TNS (编辑:聊城站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐