>  기사  >  백엔드 개발  >  windows 下选择php版本 是选Non Thread Safe还是Thread Safe?

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

WBOY
WBOY원래의
2016-06-06 20:52:391408검색

在开发调试过程中遇到过网页不停的报Stack Overflow 。试过各种方法不行。想到可能是在我目前的环境中不太合适用Thread Safe。请问应该依据什么选ts 还是nts版本。

网上有人说:如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 个人感觉这个很不靠谱 我现在用的ts版本的php,而看到Configure Command:cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--disable-isapi"

求讲解。

回复内容:

在开发调试过程中遇到过网页不停的报Stack Overflow 。试过各种方法不行。想到可能是在我目前的环境中不太合适用Thread Safe。请问应该依据什么选ts 还是nts版本。

网上有人说:如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。 个人感觉这个很不靠谱 我现在用的ts版本的php,而看到Configure Command:cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--disable-isapi"

求讲解。

是的,从php 5.2.1开始分这两个版本,ISAPI需要进行线程安全检查。但是分这两个版本的初衷是要解决某些插件的非线程安全问题,所以我估计你如果没有使用什么特殊的插件的话,出现stack overflow还是程序的问题,你可以把代码贴出来

我感觉你那Stack Overflow问题是不是mysql造成的?我也有遇到过。后来把mysql活动的时间延长点就好了。
也有可能因为PHP版本的问题,还有内存溢出等。
另外你是不是在WIN上开发的?

如果是采用IIS+ISAPI的话,就是使用TS版本。
如果是采用IIS+FastCGI的话,就使用NTS版本。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.