导航:首页 > 编程语言 > phpnonthreadsafe

phpnonthreadsafe

发布时间:2022-11-26 03:46:46

php5 non-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 的二进位档有两种包装方式:msi 、zip ,请下载 zip
套件)。而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP。

㈡ VC14 Apache2.4+PHP7.0 VC14 Non Thread Safe怎么配置

新版本的php只有VC9和VC11
老版本的apache只能搭配VC6的PHP
VC9你需要安装Visual C++ Redistributable for Visual Studio 2008 SP1 x86 or x64
VC11你需要安装Visual C++ Redistributable for Visual Studio 2012 x86 or x64
只是使用了不同版本的编译
Non Thread Safe:使用fastcgi+iis的用这个
Thread Safe:apache+php的用这个

㈢ 官网的PHP怎么下载谢谢!

其中你所要安装的就是install的那个包,两个都可以,第二个更好一些,其他的两种类型的包是一些插件,就是挺高你使用调试工具的效率,方便用户的。

㈣ PHP5 non-thread-safe和thread-safe的区别

看你的PHP怎么运行的。如果是apache+php mole的话,你需要用threadsafe版本,因为是多线程共享一个php模块。如果是fast cgi的话就可以用non thtlreadsafe的版本了,因为每个线程里都有独立的php模块。

㈤ PHP non-thread-safe和thread-safe这两个版本的区别

PHP5 non-thread-safe和thread-safe的区别
从PHP5.2.10版本开始(现在有PHP5.2.10和5.3两个版本),有None-Thread Safe与Thread Safe两种版本的可供选择,这两种版本有何不同,作为使用者来说又应该如何选择呢?
先从字面意思上理解,None-Thread Safe就是非线程安全,在执行时不进行线程(thread)安全检查;
Thread Safe就是线程安全,执行时会进行线程(thread)安全检查,以防止有新要求就启动新线程的 CGI 执行方式耗尽系统资源。
再来看PHP的两种执行方式:ISAPI和FastCGI。
FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以 FastCGI(搭配IIS)执行 PHP ,都建议下载执行 non-thread safe 的 PHP (PHP 的二进位档有两种包装方式:msi 、zip ,请下载 zip 套件)。
而线程安全检查正是为ISAPI方式的PHP准备的,因为有许多php模块都不是线程安全的,所以需要使用Thread Safe的PHP(搭配apache)。
如果你还搞不清楚,那么只需知道你是php+apache还是php+iis组合
non-thread-safe 非 线程安全与IIS搭配环境
thread-safe 线程安全 与apache搭配环境

另外php还有VC6 VC9版本区分
VC6和VC9一个支持apache一个支持IIS
VC9用在apache上也没问题,如果你用iis就必须用vc9的,如果你用apache vc6和vc9都可以用。

㈥ windows 下选择php版本 是选Non Thread Safe还是Thread Safe

如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 个人感觉这个很不靠谱 我现在用的ts版本的php

㈦ win2008下如何快速安装PHP,并做好安全设置

在Windows Server 2008下配置PHP环境特别的快,只需要鼠标点点就可以了。

1,下载PHP5.2系列版本,目前5.2系列比5.3系列兼容性更好。其中又分为Non Thread Safe和Thread Safe版本,如果要用FastCGI模式运行PHP,就选择Non Thread Safe版本,如果要用ISAPI模式运行PHP,就选择Thread Safe版本。

2,开启IIS7:点击“开始”菜单上面的“服务器管理器”==> 角色==> 添加角色==> 点下一步==> 选上II7.5 ==> 点下一步==> 一定选上CGI ==> 开启安装IIS

3,双击下载下来的PHP安装包,开始安装PHP,一直点next就能完成安装,
勾选的模块:EXIF,GD2,Mcrypt,Mhash,Ming,MySQL,OpenSSL,SOAP,Sockets,XML-RPC,XSL,ZIP

再点next == > install 即可安装完成


4,检查PHP有没有安装成功,并且查看php.ini的存放路径

打开 控制面板==> 管理工具==> Internet 信息服务(IIS)管理器 ,再随意创建一个站点,按下图进行查看:


再到该站点的目录下,创建一个文本文件,改名成index.php,内容是:
<?php phpinfo();>


再访问这个站点,即可显示PHPINFO页面,而且要记下php.ini的存放路径,如下图:


5,PHP安全设置(重要)

打开刚才记下的php.ini的存放路径。编辑这个文件:

在最低下加入这两行:
disable_functions = exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,dl,popen,show_source
cgi.fix_pathinfo=0

然后重启IIS让配置生效

㈧ php报错 Non-abstract method LineyardModelList::addLineYard() must contain body,怎么解决呢

函数的参数行是不用加分号的,你仔细看。

functionaddLineYard($args)//这不能有分号
{
...
}

㈨ Windows下的PHP安装文件线程安全和非线程安全的区别

从2000年10月20日发布的第一个Windows版的PHP3.0.17开始的都是线程安全的版本,这是由于与Linux/Unix系统是采用
多进程的工作方式不同的是Windows系统是采用多线程的工作方式。如果在IIS下以CGI方式运行PHP会非常慢,这是由于CGI模式是建立在多进程
的基础之上的,而非多线程。一般我们会把PHP配置成以ISAPI的方式来运行,ISAPI是多线程的方式,这样就快多了。但存在一个问题,很多常用的
PHP扩展是以Linux/Unix的多进程思想来开发的,这些扩展在ISAPI的方式运行时就会出错搞垮IIS。而用线程安全版本的话顶多只是搞跨某个
线程,而不会影响到整个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,非线程安全)的版本能够更好的提高效率。
因此,如果是使用ISAPI的方式来运行PHP就必须用Thread
Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None
Thread
Safe(NTS,非线程安全)的版本能够更好的提高效率。
附:德问相关问题摘录
下载PHP安装文件时,我看到有两种不同的二进制文件,像是非线程安全(Non
Thread
Safe)和线程安全(Thread
Safe),比如该页面所列:http://windows.php.net/download/。这个是什么意思,之间有什么区别?
这个主要是针对web
server
而言,在windows环境下,如果你使用的web
server
是apchae
或者
iis
7以下版本,则应该选择线程安全的安装文件,而如果你使用Fast-cgi模式时,可以选择非线程安全,因为
web
sever
本身能保证线程安全。
当然还有二进制文件编译时所使用的编译器:vc9
(vs系列)
vc6(gcc)
如楼上所言,是针对web
server的,部分web
server在处理应用请求的时候是用多线程而非多进程的方式处理,线程方式因为涉及到共享寄存器和内存,所以很容易出错,这个时候程序就需要花一些额外的经历去处理寄存器中的数据一致性,即保证线程安全。
所以是否采用线程安全主要看你的web
server所采用的PHP请求处理方式,如果是多线程处理,那么请选择线程安全的,否则选择非线程安全的,如楼上所说Fast-cgi方式可选择非线程安全的

㈩ Windows下的PHP安装文件线程安全和非线程安全的区别

Windows下的PHP版本分两种:线程安全版本与非线程安全版本。

要论两者的区别,详细论说起来比较麻烦,从使用者的角度,记住什么时候用哪种版本的区别就可以了吧:

1、windows + IIS + FastCGI :使用非线程安全版本。

解释:

以FastCGI方式安装PHP时,PHP拥有独立的进程,并且FastCGI是单一线程的,不存在多个线程之间可能引发的相互干扰(这种干扰通常都是由于全局变量和静态变量导致的)。由于省去了线程安全的检查,因此使用FastCGI方式比ISAPI方式的效率更高一些。

2、windows + IIS + ISAPI :使用线程安全版本。

解释:

PHP以ISAPI方式安装时,PHP没有独立的进程,而是作为DLL被IIS加载运行的,即是依附于Web服务器进程的。当Web服务器运行在多线程模式下(IIS正是这种情况),PHP自然也就运行在多线程模式下。只要是在多线程模式下运行,就可能存在线程安全问题,因此应选择PHP的线程安全版本。

3、windows + Apache + PHP(模块) :使用线程安全版本。

解释:

如果你要在Apache中以模块方式安装PHP,则你应该使用PHP的线程安全的版本。原因是当PHP作为Apache的模块安装时,PHP没有独立的进程,而是作为模块以DLL的形式被加载到Apache中的,是随Apache的启动而启动的,而Windows下的Apache为多线程工作模式,因此PHP自然也就运行在多线程模式下。因此,这种情况下应使用PHP的线程安全版本。

4、windows + Apache + PHP(ISAPI) :使用线程安全版本。

解释:

由于以ISAPI方式来安装PHP时,PHP也没有独立的进程,也是作为模块被加载到Apache中的,因此,同样也需要使用PHP的线程安全版本。

一般不建议在Apache中以ISAPI方式来安装PHP,原因是到目前为止,Apache通过mod_isapi.so模块来实现的ISAPI功能并不完整,并未完整实现微软对ISAPI所制定的全部规范。

5、windows + Apache + PHP(FastCGI) :使用非线程安全版本。

解释:

如果你要在Apache中以FastCGI方式使用PHP,则同在IIS中使用FastCGI的PHP的情况一样,你应该使用PHP的非线程安全的版本。原因是在Apache中以FastCGI方式安装PHP时,PHP拥有独立的进程,并且FastCGI是单一线程的,故应使用PHP的非线程安全版本以提高性能。

以上资料总结相关资料,分条明细,供选择。

阅读全文

与phpnonthreadsafe相关的资料

热点内容
单片机控制和plc控制系统设计 浏览:28
她通常去电影院英文翻译 浏览:274
阿里个人云服务器叫什么名字 浏览:298
萱萱日记 浏览:707
芯片app有什么用 浏览:204
DaDa兔 浏览:969
卡罗拉烟气压缩机 浏览:470
丹麦大尺度电影推荐 浏览:784
山东统一政务服务门户app叫什么 浏览:696
九亿app和电视版有什么区别 浏览:82
韩国推理片有哪些日本 浏览:887
无法连接到服务器是为什么呀 浏览:845
百度网盘自动回复源码 浏览:792
只坐A不结婚电影 浏览:122
免费看片的在线网站 浏览:581
安卓如何设置枪声小脚步声大 浏览:760
如何将u盘升级为加密盘 浏览:784
美国所有恐怖露点电影 浏览:864
手机nfc刷全加密ic卡 浏览:775
51单片机24小时 浏览:880