2009年12月28日 星期一

PHP 5.3 使用 php_mssql.dll 發生錯誤解決。

§PHP 5.3 extension = php_mssql.dll 錯誤解決
環境:
OS :Windows XP
Web Server : Apache 2.2.14
PHP : 5.3 VC6
發生情況:
PHP 5.3在php.ini中如下紅色標籤,將分號拿掉以便載入SQL Server模組,而當Apache重載後會發生錯誤訊息。

[PHP_MSSQL]
;extension=php_mssql.dll
 
錯誤訊息如下 ...
 





 
原因是因為
  1. PHP5.3不再支援php_mssql.dll。
  2. php_mssql.dll只支援SQL SERVER 2000以下的版本,所以就算你使用了5.3以下的版本也只能使用到SQL 2000以下的SQL SERVER。
解決方法:
step 1.至微軟網站下載SQLServerDriverForPHP11
step 2.點擊下載玩之程式,會出現如下圖pic 1.1,這是要讓程式解壓縮後檔案存放的路徑。


pic 1.1
step 3.解開壓縮完裡面會有如pic 1.2內所示之檔案。


52: for PHP 5.2
53: for PHP 5.3
VC6 : for Apache
VC9 : for IIS
ts : ThreadSafe的
nts: no ThreadSafe的。

  • 選擇你所需要的dll檔Copy至PHP下的ext資料夾中。


  • 在php.ini檔中加上 extension=php_sqlsrv_53_ts_vc6.dll,如下方紅色標籤所示。

 [php_SQLSRV]
 extension=php_sqlsrv_53_ts_vc6.dll
重新ReStart Apache即可運行 SQL Server。

記得不要再載入舊版的SQL dll。
[PHP_MSSQL]
;extension=php_mssql.dll
[註]本篇文章所使用的是php_sqlsrv_53_ts_vc6.dll,真實載入請依您的環境所定。

step 4.執行<?php phpinfo( ); ?> 可看到如下圖,代表SQLRSRV運行了。





1 則留言:

  1. http://msdn.microsoft.com/en-us/sqlserver/cc299381.aspx
    Microsoft Drivers for PHP for SQL Server 現在出到 2.0版,按照您的解說方式可以正確安裝。但是並未測試是否php 使用語法跟原來相同?

    回覆刪除