我正嘗試使用PHP連接到另一臺計算機上的SQL Server。我找到了兩種方法來做到這一點。用odbc_connect或sqlsrvr連接。使用Windows帳戶通過PHP連接到SQL Server
$connection = odbc_connect("Driver={SQL Server Native Client 10.0};Server=$serverName;Database=$db;", 'user', 'pass');
或
$conn = sqlsrv_connect($serverName, array('UID' => '', 'PWD' => ''));
的連接工作,如果我嘗試連接到SQL帳戶。不幸的是,我無法使用Windows身份驗證進行連接。
到目前爲止,我已經嘗試了以下內容:使用了工作通行證,添加了Trusted_Connection = yes;或集成安全= SSPI; 。我也嘗試將此與fastcgi.impersonate = 1或0結合使用。
當我直接使用我的用戶並傳遞了我登錄被拒絕的錯誤,並且當我嘗試使用sspi進行Windows身份驗證時,我收到以下錯誤:登錄失敗爲用戶'NT AUTHORITY \ ANONYMOUS LOGON'。
我已經搜索了很多問題,但我找不到解決方案。但是有人在談論不使用網絡服務帳戶的php,這可能是問題所在。
有沒有人知道我可以如何解決這個問題,或者給我一個領導?
預先感謝您。
您將使用您的php進程(或web服務器進程)正在運行的UID登錄。 – 2012-07-17 14:43:00
有什麼方法可以改變進程在運行的用戶嗎?我以前沒有這樣做過,我很感激「傻瓜」類型的鏈接。我一直認爲在我登錄時運行的應用程序會使用我的帳戶運行。 – sias 2012-07-17 14:45:27
取決於您的網絡服務器,但在更改操作UID時需要考慮很多事項 - 除非您正確操作,否則可能會完全中斷Web服務器。 – 2012-07-17 14:46:19