Я работаю над приложением 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-скрипта в командной строке, но не из запланированной задачи.
У вас есть идея?
Спасибо заранее (и извините, если мой английский не является совершенным^_ ^)