程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中基於ts與nts版本- vc6和vc9編譯版本的區別詳解

PHP中基於ts與nts版本- vc6和vc9編譯版本的區別詳解

編輯:關於PHP編程

VC6:legacy Visual Studio 6 compiler,就是使用這個編譯器編譯的。
VC9:Visual Studio 2008 compiler,就是用微軟的VS編輯器編譯的。
由於apache.org只提供VC6的版本,所以使用原版apache時只能使用VC6。(www.apachelounge.com上有apache VC9的版本提供,應該可以和PHP VC9配合,沒用過)
TS:Thread Safe 線程安全, 執行時會進行線程(Thread)安全檢查,以防止有新要求就啟動新線程的CGI執行方式而耗盡系統資源
NTS:Non Thread Safe 非線程安全, 在執行時不進行線程(Thread)安全檢查
PHP的兩種執行方式:ISAPI和FastCGI。
ISAPI(Internet Server Application Programming Interface)執行方式是以DLL動態庫的形式使用,可以在被用戶請求後執行,在處理完一個用戶請求後不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執行效率,所以如果是以ISAPI來執行PHP,建議選擇Thread Safe版本
apache中的配置方式:

#下面這個是加載TS版本的php必須的
LoadModule php5_module “xxx/php5apache2_2.dll”
#下面這行可有可無

AddType application/x-httpd-php-source .phps
AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt


FastCGI執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以FastCGI來執行PHP,建議選擇Non Thread Safe版本。
apache中的配置方式:

#下面這兩行是加載NTS版本的php必須的,不可以直接寫成Action application/x-httpd-php “c:/wamp/bin/php/php3.5.6/php-cgi.exe”!
ScriptAlias /php/ "C:/wamp/bin/php/php3.5.6/"
Action application/x-httpd-php “/php/php-cgi.exe”

#另外,還要有之前的AddType application/x-httpd-php .php .php5 .php4 .php3 .phtml .phpt,這樣才能認識php格式的文件

#這樣配置完可能還會因為權限問題而無法用php-cgi.exe解析php網頁,所以還要加上下面這段

<Directory "C:/wamp/bin/php/php5.3.6/">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
官方並不建議你將Non Thread Safe 應用於生產環境,所以我們選擇Thread Safe 版本的PHP來使用。
XAMPP在http-xampp.conf中默認配置是使用ISAPI的方式

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved