0
我正在致力於託管在Windows Server 2008上的PHP應用程序。很抱歉,如果某些信息不清楚,但此項工作已由其他開發人員完成,並且我無法與他聯繫。使用Windows身份驗證的PHP計劃任務
每週執行計劃任務以同步來自另一臺服務器上的SQL Server數據庫的某些數據(我無權訪問此其他服務器)。
的計劃任務運行.bat文件:
start C:\...\php.exe E:\...\synchro.php
但腳本無法連接到數據庫:
[Microsoft][SQL Server Native Client 11.0][SQL Server]Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON'
當我從命令行運行我的PHP腳本中,這樣的:
php E:\...\synchro.php
......一切正常。
在我synchro.php文件,到數據庫的連接是由這樣的:
$connectionInfo = array('Database'=> $database);
$conn = sqlsrv_connect($serverName, $connectionInfo);
我認爲這是使用Windows身份驗證,因爲沒有登錄/密碼。
在計劃任務性質,下列選項檢查:
- 「運行用戶是否登錄或不」
- 「不要儲存密碼的任務將只能訪問到本地。 電腦資源。「
並且在「運行任務時使用以下用戶帳戶」中有當前帳戶。
我不明白爲什麼它在命令行中運行PHP腳本,但不是從計劃任務運行。
你有什麼想法嗎?
在此先感謝(和抱歉,如果我的英文不是很好,^ _ ^)