使用Windows身份验证的PHP计划任务
我正在开发一个托管在WindowsServer2008上的PHP应用程序。对不起,如果一些信息不清楚,但这项工作已经由另一个开发人员,我不能联系他 每周都会执行一项计划任务,以同步另一台服务器上的SQL Server数据库中的某些数据。我无权访问此另一台服务器 计划任务运行.bat文件:使用Windows身份验证的PHP计划任务,php,sql-server,database-connection,scheduled-tasks,windows-server-2008,Php,Sql Server,Database Connection,Scheduled Tasks,Windows Server 2008,我正在开发一个托管在WindowsServer2008上的PHP应用程序。对不起,如果一些信息不清楚,但这项工作已经由另一个开发人员,我不能联系他 每周都会执行一项计划任务,以同步另一台服务器上的SQL Server数据库中的某些数据。我无权访问此另一台服务器 计划任务运行.bat文件: start C:\...\php.exe E:\...\synchro.php 但脚本无法连接到数据库: [Microsoft][SQL Server Native Client 11.0][SQL Serv
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
$connectionInfo = array('Database'=> $database);
$conn = sqlsrv_connect($serverName, $connectionInfo);
。。。一切正常
在我的synchro.php文件中,与数据库的连接如下:
php E:\...\synchro.php
$connectionInfo = array('Database'=> $database);
$conn = sqlsrv_connect($serverName, $connectionInfo);
我认为它使用的是Windows身份验证,因为没有登录/密码
在计划任务属性中,选中以下选项:
无论用户是否登录,都要运行
不要存储密码。该任务只需访问本地
计算机资源。
在运行任务时,请使用以下用户帐户,即当前帐户
我不明白为什么它在命令行中运行PHP脚本时工作,而不是从计划任务中运行
你知道吗
提前感谢,如果我的英语不完美,请道歉。^ ^我解决了问题: 在任务属性中,选中了“不存储密码”选项。没有这个选项,一切都会正常