0

Я работаю над приложением PHP, размещенным на Windows Server 2008. Извините, если некоторая информация нечеткая, но эта работа была сделана другим разработчиком, и я не могу связаться с ним.Запланированная задача PHP с проверкой подлинности Windows

Выполняется запланированная задача, выполняемая каждую неделю для синхронизации некоторых данных из базы данных 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-скрипта в командной строке, но не из запланированной задачи.

У вас есть идея?

Спасибо заранее (и извините, если мой английский не является совершенным^_ ^)

ответ

0

Я решил эту проблему:

В свойствах задачи, опцию «Не сохранять пароль» был проверен. Без этого варианта все работает.

Смежные вопросы