① 就是說php沒有安裝vc9運行庫嗎
裝下vc2008運行庫。
② PHP版本VC6和VC9,Non Thread Safe和Thread Safe的區別
VC6
版本是使用
Visual
Studio
6
編譯器編譯的,如果你是在windows下使用Apache+PHP的,請選擇VC6版本。
VC9
版本是使用
Visual
Studio
2008
編譯器編譯的,如果你是在windows下使用IIS+PHP的,請選擇VC9版本。
Non
Thread
Safe就是非線程安全,在執行時不進行線程(Thread)安全檢查;
Non
Thread
Safe
是線程安全,執行時會進行線程(Thread)安全檢查,以防止有新要求就啟動新線程的
CGI
執行方式而耗盡系統資源;
Windows下的PHP
主要有兩種執行方式:ISAPI
和
FastCGI。
ISAPI
執行方式是以
DLL
動態庫的形式使用,可以在被用戶請求後執行,在處理完一個用戶請求後不會馬上消失,所以需要進行線程安全檢查,這樣來提高程序的執行效率,所以如果是以
ISAPI
來執行
PHP,建議選擇
Thread
Safe
版本;
FastCGI
執行方式是以單一線程來執行操作,所以不需要進行線程的安全檢查,除去線程安全檢查的防護反而可以提高執行效率,所以,如果是以
FastCGI
來執行
PHP,建議選擇
Non
Thread
Safe
版本。
官方並不建議你將Non
Thread
Safe
應用於生產環境。
③ php怎麼樣連接sql資料庫
1、軟體配置
Win7 64 +wampserver2.2d-x32+SQL Server 2008 R2資料庫,wamp2.2中的php版本是5.3.10。
Php環境也可以換成php+apache。
2、支持連接MySQL Server配置
php版本5.3以前,有php_mssql功能,可以使用,但是5.3及以後的版本不支持。
2.1、php連接mssql設置(php5.3以前版本)
(1)、打開php.ini,將
;extension=php_mssql.dll前面的分號(;)去掉,然後重啟 Apache。如果不行的話,進行第2步。
(2)檢查一下你的php安裝目錄下的ext下面有沒有php_mssql.dll存在,如果沒有,從www.php.net重新下載一個php安裝,要下載那個壓縮包的才是最完整的。
如果ext目錄下已經有了php_mssql.dll,那麼你需要打開php.ini,找到
extension_dir = "./ext"
這一句(或者類似的,不一定是"./ext",查找"extension_dir"即可),然後把"./ext"修改為你的php安裝目錄的ext目錄的完整路徑,比如"c:/php/ext",或者"c:/program files/php/ext"這樣。然後再次重啟 Apache。如果還是不行的話,可能就需要第3步了。
(3)把 php 目錄下的 ntwdblib.dll 和 php_mssql.dll 復制到 system32的系統目錄中去,然後重起Apache。
(4)然後就可以連接MSSQL,並進行一些操作了。連接例子如下:
2.2、php連接sqlsrv(php5.3以及以上版本)
(1)、下載Microsoft Drivers forPHPfor SQL Server,官方下載地址:http://www.microsoft.com/en-us/download/details.aspx?id=20098,我使用的是SQLSRV2.0。
(2)、解壓下載下來的文件將php_pdo_sqlsrv_53_ts_vc9.dll文件和php_sqlsrv_53_ts_vc9.dll文件復制到php安裝目錄下的ext文件夾中。此處根據版本不同使用的文件不同。
(3)、在php.ini中添加
extension=php_sqlsrv_53_ts_vc9.dll
extension=php_pdo_sqlsrv_53_ts_vc9.dll
到很多;extension=***.dll語句後面,注意extension_dir 指向的位置是否正確。
(4)、重啟apache,然後訪問http://apache訪問地址/?Phpinfo=1,出現下面圖片中的內容,則代表配置正確。
(5)、寫測試代碼,測試代碼如下:
(6)、上面完成之後,測試代碼的時候會出現連接失敗,因為沒有安裝sql server nation client ,本地客戶端,去下載合適的客戶端,我使用的是Microsoft? SQL Server? 2012 Native Client,下載地址:
(7)、安裝完成之後,在重新啟動apache,然後訪問就可以連接成功了。
(8)、注意:在php.ini文件所在的文件夾中必須要有ntwdblib.dll文件存在。
④ php怎麼連接sql server 2012
1:PHP5.2.x本身有個php_mssql.dll的擴展用來連接Sql server,但是這個dll只是用來連接低版本 Sql server的(2000以下版本),在Sql server 2005及以上版本無法使用mssql_connect連接到資料庫。
2:php5.3.x不再支持php_mssql.dll 拓展庫了,及時使用php5.2.x中的php_mssql.dll也無法使用。 微軟專門為PHP出了個SQL Server的擴展(Windows版本的),對於Windows下使用php開發SQL Server應用來說,這個擴展有利於利用SQL Server來開發php平台連接sql server資料庫管理系統。
一、php5.3以下的版本連接sql server
5.3以下的版本擴展裡面自帶一個php_mssql.dll;接資料庫的擴展,可以利用這個擴展鏈接資料庫,(只限於鏈接低版本資料庫)。
具體的步驟如下:
1:首先安裝sql server,超級不好安裝,我之前安裝的是2008版本的,Windows過期後就不能用了,然後重裝還裝不上,最後重裝系統才裝上
2:確定SQL裝的時候用的是混合認證模式,或SQL驗證模式,然後打開php的配置文件(php.ini),開啟mssql擴展 (extension=php_pdo_mssql.dll前面的分號去掉)並且需要把mssql.secure_connection = On 重啟後生效。
如果比較順利的話已經可以連接資料庫了,如果連不上就需要繼續低下的配置:
3: 檢查ntwdblib文件的版本(php/下面和Apache/下面)下載正確的版本的 ntwdblib.dll(2000.80.194.0)覆蓋現有的DLL文件,(把ntwdblib.dll,php_mssql.dll 復制到system32目錄中也可以)ntwdblib.dll 用於PHP連接MSSQL2005或2008的驅動文件。
4:測試連接:mssql_connect('localhost,1433', '用戶名', '密碼');
二、php5.3+連接sql server
其 實5.3以下的php版本已經很少用了,況且安全性和兼容性都不好,所以高版本的php還是比較常見的。實踐證明低版本的php連接資料庫成功率比較低 (2005以上的版本幾乎不能使用),推薦使用php5.3+ php使用微軟專門的擴展 SQLSRV 來連接sqlserver資料庫
步驟如下:
1:先到微軟網站下載 SQL Server Driver for PHP 是一個自解壓的 EXE文件,解壓縮後你會得到這么幾個文件:
其中的52、53表示就是php的5.2.x和5.3.x 版本,選擇跟你php版本相匹配的;vc6或vc9的選擇要看你使用的是什麼web伺服器軟體,如果使用的是IIS那就選擇vc9的,如果是Apache 則選擇vc6的,ts和nts的選擇要看你安裝的php版本是線程安全版的還是非線程安全版,ts是線程安全,nts是非線程安全。
如果不知道可以在phpinfo里看Zend Extension Build這個屬性如下圖:
2:將擴展拷貝到拷到php/ext目錄下,在php.ini文件,添加一下代碼:
extension=在ext下的pdo擴展(用於pdo)
extension=在ext下的擴展
3:重啟伺服器,打開phpinfo();看到以下狀態就證明添加擴展成功,
4:連接測試:
<?php $serverName = "(local)"; $connectionInfo = array("UID"=>"sa","PWD"=>"admin","Database"=>"db_online"); $conn = sqlsrv_connect( $serverName, $connectionInfo); if( $conn ){ echo "Connection established. "; }else{ echo "Connection could not be established. "; die( var_mp(sqlsrv_errors())); } sqlsrv_close( $conn); ?>
注意這里的連接不是用mssql_connect而是用sqlsrv_connect,在這個版本中,還有幾個函數:
這個擴展為php新增了一系列sqlsrv_開頭的函數,常用的如下:
sqlsrv_connect
sqlsrv_close
sqlsrv_commit
sqlsrv_errors
sqlsrv_fetch
sqlsrv_fetch_array
sqlsrv_fetch_metadata
sqlsrv_num_rows
sqlsrv_query
sqlsrv_rollback
sqlsrv_rows_affected
. . .
另外注意的是,如果使用這個擴展連接Sql server 2005以及以上版本的sql server(如sql server 2008),你還需要在機器上先安裝 SQL Server Native Client
不然會出現如下錯誤:
array
0 =>array
0 =>string'IMSSP'(length=5)
'SQLSTATE' =>string'IMSSP'(length=5)
1 =>int-49
'code' =>int-49
2 =>string'This extension requires the Microsoft SQL Server 2012 Native Client. Access the following URL to download the Microsoft SQL Server 2012 Native Client ODBC driver for x86:
http://go.microsoft.com/fwlink/?LinkId=163712'
(length=216)
'message' =>string'This extension requires the Microsoft SQL Server 2008 Native Client. Access the following URL to download the Microsoft SQL Server 2008 Native Client ODBC driver for x86:
http://go.microsoft.com/fwlink/?LinkId=163712'
(length=216)
1 =>array
0 =>string'IM002'(length=5)
'SQLSTATE' =>string'IM002'(length=5)
1 =>int0
'code' =>int0
2 =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
'message' =>string'[Microsoft][ODBC 驅動程序管理器] 未發現數據源名稱並且未指定默認驅動程序'(length=71)
解決方法:需要安裝SQL Server 2008 Native Client ODBC Driver,下載安裝文件sqlncli.msi,安裝後就可以了。
⑤ PHP中V6,V9和V11是什麼意思
vc運行庫的版本。vc9運行php就需要vc9運行庫。vc11就需要vc11運行庫
⑥ php 版本 問題
呵呵,語言也是可以有版本的
不同的版本語言性能、功能、安全性會有所不同,現在的5.3版都是用vc9編譯的,更穩定更高效,所以相應的web伺服器也要用vc9編譯的,PHP是跨平台的,win7使用跟linux使用沒什麼差別,主要是安裝過程不一樣,可以直接使用iis7做web伺服器,現在官方推薦大家都升級到5.3版
編輯器一般用zend studio
⑦ php版本選擇問題.VC6和VC9的區別,TS和NTS如何選擇
TS是Thread Safety,代表線程安全,而NTS是None Thread Safe代表非線程安全。
Windows系統下才分線程安全與非線程安全,
windows + Apache + PHP(模塊) :使用線程安全版本。
windows + Apache + PHP(FastCGI) :使用非線程安全版本。
如果你的電腦是32位的, 那裝x86的版本,如果是64位的, 裝x64的版本!
一般來說不區分32位和64位,或者64位操作系統兼容32位的PHP,但是在某些操作系統上還是區分32位和64位的,例如windows 2008。
vc6和vc9是指vc運行庫的版本,你PHP版本標志的是VC9,那麼運行的時候,需要安裝vc9
VC9 -是安裝運行使用 Visual Studio 2008 生成的 C++ 應用程序所必需的運行時組件。
這篇教程文章里提供700多個PHP版本下載。(700個PHP版本一鍵切換)
網路搜索這個文章標題:
PHP集成環境如何自定義PHP版本,同時運行多個php版本一鍵開啟模塊。
搜到的文章中,在文章的附件里有提供PHP歷史版本下載,差不多700多個PHP版本,最老和最新版本都包含了。如果你找不到,就找原文吧,因為你搜到的文章可能是被其他網站轉載的。
建議使用PHPWAMP綠色集成環境,700個PHP版本隨意切換,多版本同時運行。
(網路搜PHPWAMP有詳細的使用教程,能同時運行多個PHP版本,一鍵去埠等)
⑧ 運行PHPstudy時總是顯示檢測不到vc9運行庫
phpstudyadmin沒用看說明xampp等差東西首先軟體control或啟類程序運行網站源碼復制htdoc或軟體默認web目錄根據網站源碼安裝說明安裝mysql操作打phpmyadmin行。
⑨ 5.3不支持 mssql ,所有要用到以前的版本,官網好像只有5.3及以上版本;要用php5.3必須要用sqlsrv.dll嗎
如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx自行下載微軟提供的The SQL Server Driver for PHP。這是一個自解壓文件,解壓後會得到以下幾個文件:
php_sqlsrv_52_nts_vc6.dll
php_sqlsrv_52_ts_vc6.dll
php_sqlsrv_53_nts_vc6.dll
php_sqlsrv_53_nts_vc9.dll
php_sqlsrv_53_ts_vc6.dll
php_sqlsrv_53_ts_vc9.dll
php_sqlsrv_license.rtf
SQLServerDriverForPHP.chm
SQLServerDriverForPHP_Readme.htm
其中,52,53表示PHP的5.2.X和5.3.X的版本;nts表示非線和安全,ts表示線程安全;vc6表示使用Apache作為Web Server,vc9表示使用IIS作為Web Server。
根據您的配置,將相應的DLL文件拷貝到php安裝目錄的ext文件夾中,接下來打開php.ini,添加以下語句打開php_sqlsrv和php_pdo_sqlsrv擴展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_ts_vc6.dll
—————————————————
這里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是線程安全的,那麼你的PHP安裝目錄下應該有一個php5ts.dll,與這里的兩行語句對應,如果是php5nts.dll,那麼上面的語句應該是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_nts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_nts_vc6.dll
—————————————————-
壓縮包里有各個版本對於的dll文件,大家可以去仔細核查。
開啟擴展後,重啟apache,這樣就可以連接sqlserver了,但是還有一點要注意,如果你沒有安裝Microsoft SQL Server 2008 R2 Native Client,必須去http://msdn.microsoft.com/en-us/library/cc296170(SQL.90).aspx下載安裝,因為微軟的這個擴展包需要這個支持。
一切妥當之後,就可以寫php代碼了,如果你下載了The SQL Server Driver for PHP,那麼在解壓縮後的文件夾里有一個幫助文檔,你可以很容易的找到示例,在這里站長介紹一個簡單的例子:
<?php
//本地測試的服務名
$serverName = 「(127.0.0.1)」;
//使用sql server身份驗證,參數使用數組的形式,一次是用戶名,密碼,資料庫名
//如果你使用的是windows身份驗證,那麼可以去掉用戶名和密碼
$connectionInfo = array( 「UID」=>」root」,
「PWD」=>」root2010″,
「Database」=>」master」);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn )
{
echo 「Connection established.\n」;
}
else
{
echo 「Connection could not be established.\n」;
die( print_r( sqlsrv_errors(), true));
}
?>
如果連接不成功,重啟sql server再試。
⑩ 我的phpstudy出現了這種情況為什麼已經安裝了vc9
只有瀏覽器網頁可以打開就是正常的,那個提示不是說你沒有VC9,而是說他無法正確檢測vc9,如果遇到問題需要你自行檢查。