PHP是Linux的原生服务,运行到Windows上究竟有什么不好呢?
尽管PHP是一个多平台语言,在Windows上运行PHP还是一个挑战。这是因为PHP是基于UNIX平台开发的,每个请求由一个不同的进程来处理。然 而在Windows平台下面,同一类型的请求是由同一进程的不同线程来处理的。这个区别意味运行着PHP的IIS的频繁崩溃。进一步来说,对这一问题的唯 一的解决方案就是把PHP运行在外部方式下(CGI)。最终导致PHP性能的降低。关键问题还是以下几点:
多线程:
PHP原生为多处理器环境(APACHE),因此最常用于LAMP (Linux, Apache, MySQL, PHP) 平台。windows的工作方式不同,web服务器,不管是iis还是apache都是多线程运行,即一个处理器上跑所有客户请求。为了使php在 多线服务器上跑的好,必须考虑线程安全的问题。如果线程安全处理失败,会导致php运行不稳定是当然的,同时是iis或apache崩溃的情况也经常发 生。还有更糟糕,一个崩溃的线程会导致整个web服务器挂掉,这也是为什么iis进程池会频繁的崩溃。相对于多进程环境,就算一个进程崩溃又有什么关系, 第web 服务器没有影响,下一个请求来的时候自动唤醒一个新的进程就可以了,就跟没发生过一样。时至今日,唯一防止php在windows上崩溃的做法还是把 php设置为外部CGI,但会比ISAPI慢很多。
Read More—1322bytes

by Xiaodu | Categories: 网站建设知识 | Tagged: , , | No Comments

使用 Linux的虚拟主机,因为/Perl/PHP/MySQL/Linux/Apache都是开源软件,因此,没有任何的license费用。
而使用Windows的虚拟主机,则因为IIS/Windows/SQL server 都须要购买license,这个费用对于主机运营商来说是不少的。
因此一般国外的Windows主机都会比Linux的贵一些。而国内,大家似乎都用盗版,所以不存在这个问题。