lccee
管理员
管理员
  • UID1
  • 粉丝9
  • 关注1
  • 发帖数143
阅读:195736回复:11

PHPWAMP的自定义PHP版本应该如何选择呢?

楼主#
更多 发布于:2016-11-07 12:39
windows下的PHP版本很多,包括32位64以及线程安全与非线程安全在内的php版本多达几百个,
那么我们在使用PHPWAMP自定义设置PHP版本的时候应该如何选择PHP版本呢(PHPWAMP支持各种运行模式
PHP历史版本下载地址:http://www.lccee.com/content-53.html

PHP32和64的选择和区别。


PHP是具有32bit和64bit的区别的。
32bit的php的整型数据最大最小正负2GB左右(0x7FFFFFFF)
64bit的php的整型数据最大最小正负9百多万TB左右(0x7FFFFFFFFFFFFFFF)
网站代码经常需要注意整型数据的极限值。

版本选择:
如果你的电脑/服务器是32位的, 那装x86的版本
如果是64位的, 装x64的版本

PHP线程安全和非线程安全的选择和区别。
备注:在PHP5.3以后,PHP不再有ISAPI模式,安装后也不再有php5isapi.dll这个文件。
Windows版的PHP从版本5.2.1开始有Thread Safe(线程安全)和None Thread Safe(NTS,非线程安全)之分,
Windows下的PHP版本分两种:线程安全版本与非线程安全版本,线程安全和非线程安全只针对windows,而 linux下没有这个区分。


那么两者区别在何处?到底应该用哪种?简单的介绍来说。

如果是使用ISAPI的方式来运行PHP就必须用Thread Safe(线程安全)的版本;而用FastCGI模式运行PHP的话就没有必要用线程安全检查了,用None Thread Safe(NTS,非线程安全)的版本能够更好的提高效率。


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

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


Thread Safe      线程安全
 Non
Thread Safe  非线程安全 (官方不建议用来进行实际生产)
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的非线程安全版本以提高性能。


而PHPWAMP属于CGI+模块的混合运行方式(包含了多种),所以在线程安全和非线程安全的选择上,得看phpinfo的Server API值。
大部分用户都会在phpwamp站点管理里设置站点,如果是在apache站点管理自定义php版本,建议优先选择“非线程安全”PHP版本。

最新喜欢:

流言言流言言
流言言
初来乍到
初来乍到
  • UID348
  • 粉丝0
  • 关注0
  • 发帖数1
沙发#
发布于:2016-11-18 11:15
这里面学问真多~~~~
lccee
管理员
管理员
  • UID1
  • 粉丝9
  • 关注1
  • 发帖数143
板凳#
发布于:2016-12-21 12:15
软件下载地址:http://www.phpwamp.com/xiazai/
kkvip
初来乍到
初来乍到
  • UID507
  • 粉丝0
  • 关注0
  • 发帖数1
地板#
发布于:2017-02-21 15:43
学习!
2744801050
驾轻就熟
驾轻就熟
  • UID505
  • 粉丝0
  • 关注0
  • 发帖数3
4楼#
发布于:2017-02-23 23:11
老大,mysql版本也太低了吧,现在基本都是mysql5.5 5.6 5.7了,mssql能支持?最好也支持asp
lccee
管理员
管理员
  • UID1
  • 粉丝9
  • 关注1
  • 发帖数143
5楼#
发布于:2017-02-24 09:06
2744801050:老大,mysql版本也太低了吧,现在基本都是mysql5.5 5.6 5.7了,mssql能支持?最好也支持asp回到原帖



建议你下载最新版本,默认支持5.5、5.6、5.7等mysql数据库,支持一键自定义设置mysql版本,
会集成所有mysql历史版本,下个版本默认支持mssql(SQL Server),180多个mysql数据库版本一键切换,700多个php版本随意切换
劳斯莱斯幻影
总版主
总版主
  • UID330
  • 粉丝0
  • 关注0
  • 发帖数10
6楼#
发布于:2017-02-24 11:04
ruofeng92
初来乍到
初来乍到
  • UID518
  • 粉丝0
  • 关注0
  • 发帖数4
7楼#
发布于:2017-02-27 15:52
phpwamp的功能很强大啊
fansxiao
初来乍到
初来乍到
  • UID713
  • 粉丝0
  • 关注0
  • 发帖数1
8楼#
发布于:2017-06-20 12:30
能不能直接应用在正式的服务器上呢?
lccee
管理员
管理员
  • UID1
  • 粉丝9
  • 关注1
  • 发帖数143
9楼#
发布于:2017-06-20 12:33
fansxiao:能不能直接应用在正式的服务器上呢?回到原帖
可以,但是需要根据服务器环境调整配置,对新手而已比较考验,如果你服务器配置和性能很高,可以直接用。

虽然windows服务器下有很多站长在使用phpwamp,不过还是建议你选择linux作为php服务器。
pztrliu
驾轻就熟
驾轻就熟
  • UID847
  • 粉丝0
  • 关注0
  • 发帖数2
10楼#
发布于:2017-09-25 16:03
太强大了!!!
pztrliu
驾轻就熟
驾轻就熟
  • UID847
  • 粉丝0
  • 关注0
  • 发帖数2
11楼#
发布于:2017-09-25 16:32
以前用过一款叫PHPnow1.5.1的集成环境搭建软件,从易用性、方便性讲也是一款优秀软件,但版本太老了点,搭配方案太少、太单一,后续也没新版本推出。版主这款PHPWAMP集成环境搭建软件初试了一下,感觉软件设计很好,方案搭配灵活、可扩充性、可操作性很好,是集成环境搭建的一款非常优秀的软件,免费提供ITer们测试、学习、使用这种精神也是非常值得称道的。另:看了版主写的说明、答疑等文章,内容翔实,表述清楚,读后让人获益匪浅。看的出来版主文字功底也不错,不愧为曾经的培训教师,谢谢版主!
游客

返回顶部