首頁 >後端開發 >php教程 >windows 下选择php版本 是选Non Thread Safe还是Thread Safe?

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

WBOY
WBOY原創
2016-06-06 20:52:391420瀏覽

在开发调试过程中遇到过网页不停的报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