阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

PHP的线性安全和非线性安全的区别

131次阅读
没有评论

共计 1506 个字符,预计需要花费 4 分钟才能阅读完成。

从 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,非线程安全) 的版本能够更好的提高效率。

PHP 官方 http://php.net/ 上关于 widows 的版本有 4 个:VC14 x86 Non Thread Safe,VC14 x86 Thread Safe,VC14 x86 Non Thread Safe,VC14 x86 Thread Safe;那么有什么区别呢?

1. 支持的服务器不同

VC9 版本是针对 IIS 服务器的版本,没有对 APACHE 的支持,而 VC6 版本对 IIS 和 apache 都提供了支持

VC6 是什么?

VC6 就是 legacy Visual Studio 6 compiler,就是使用这个编译器编译的。

VC9 是什么?

VC9 就是 the Visual Studio 2008 compiler,就是用微软的 VS 编辑器编译的。

VC10 是什么?

VC10 就是 the Visual Studio 2010 compiler,就是用微软的 VS 编辑器编译的。

VC11 是什么?

VC11 就是 the Visual Studio 2012 compiler,就是用微软的 VS 编辑器编译的。

VC14 是什么?

VC14 就是 the Visual Studio 2015 compiler,就是用微软的 VS 编辑器编译的。

那我们如何选择下载哪个版本的 PHP 呢?

如果你是在 windows 下使用 Apache+PHP 的,请选择 VC6 版本;

如果你是在 windows 下使用 IIS+PHP 的,请选择 VC9 版本;

2. 运行方式的不同

PHP 有两种运行方式:ISAPI 和 FastCGI。

ISAPI 执行方式是以 DLL 动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以 ISAPI 来执行 PHP,建议选择 Thread Safe 版本;

而 FastCGI 执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI 来执行 PHP,建议选择 Non Thread Safe 版本。

对于 Apache 服务器来说一般选择 isapi 方式,而对于 nginx 服务器则选择 FastCGI 方式。

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-02/140682.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1506字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中