sql server — запланированное задание PHP с аутентификацией Windows

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

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

Решение

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

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]