2015-12-15 108 views
0

我正在運行Windows 7(32位)並已安裝Apache 2.2和PHP 5.3.1線程安全。我之前單獨安裝了這些軟件,因爲我之前試過一個WAMP軟件包,並且不喜歡它,因爲我發現它有問題。 Apache和PHP組件運行良好。我將apache端口設置爲7777,當我轉到URL http://localhost:7777/phpinfo.php時,出現PHP信息。我也可以創建一個基本的PHP Hello World,並且可以在瀏覽器中查看。我需要連接到SQL Server 2005實例以在項目上學習PHP。我已經下載了SQLSRV30.EXE並解壓縮文件,放在DLL的php_pdo_sqlsrv_53_ts.dll和php_sqlsrv_53_ts.dll在文件夾C:\ PHP \分機然後放在下面的條目在php.ini文件PHP將無法連接到SQL Server

extension=php_pdo_sqlsrv_53_ts.dll 
extension=php_sqlsrv_53_ts.dll 

重啓Apache和phpinfo列表中沒有聲明任何SQL Server屬性。當我嘗試運行瀏覽器狀態下面的示例時 - 致命錯誤:調用未定義的函數sqlsrv_connect()。我已經在stackoverflow上找到了幾個例子,但他們關心使用wamp。請問我在這裏做錯了什麼?

更新:我其實對PHP安裝NetBeans和創造了在index.php頁面下同碼一個新的項目,當我運行它的錯誤是另一個論壇上同

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="UTF-8"> 
    <title>Check SQL Server Connection</title> 
    </head> 
    <body> 

    <?php 
    $serverName = "IT90334\SQLEXPRESS"; 
    $connectionInfo = array('Database' => 'AdventureWorks'); 
    $conn = sqlsrv_connect($serverName, $connectionInfo); 

    if ($conn) { 
     echo "Connection Established.<br />"; 
    } else { 
     echo "Something went wrong while connecting to MSSQL.<br />"; 
     die(print_r(sqlsrv_errors(), true)); 
    } 

    ?> 
</body> 
</html> 
+0

是否列出了php.ini文件的路徑通過'phpinfo()'匹配你改變的ini文件? –

+0

你的PHP錯誤日誌中是否有任何啓動錯誤? – danjam

+0

@MattGibson是的。我檢查列出的文件是在C:\ PHP \ php.ini,那是我更改 – AJF

回答

0

找到東西這暗示微軟驅動程序SQLSRV30.exe對我的PHP設置太過於熟悉。我運行的是Apache 2.2和PHP 5.3.1,因此發現SQLSVR20.exe驅動程序也與PHP 5.3.1兼容,所以請下載SQLSVR20,並將文件php_pdo_sqlsrv_53_ts.dll和php_sqlsrv_53_ts.dll替換爲php_pdo_sqlsrv_53_ts_vc6.dll和php_sqlsrv_53_ts_vc6.dll(MY PHP的安裝程序也是在vc6的附近),然後修改php.ini參數。重新啓動Apache後,進一步得到了這個過程,但表示我需要SQL Server 2008 R2本機客戶端,我找到並安裝了它,然後SQLSVR列在PHPInfo url中,並且連接正常工作