【发布时间】:2015-09-15 01:14:31
【问题描述】:
我有以下代码 sn-p 我试图修改它以在 windows 中从 php 创建计划任务。我尝试了 exec,然后 pclose(popen($cmd)) 没有成功。 php 脚本执行,但没有调用任何命令,我在任务计划程序 gui 中没有看到添加的计划任务。
问题
如何从 php 调用 schtasks.exe 来创建新任务?
代码片段
$daysList = join(", ", $days);
$cmd = "c:\\windows\\system32\\schtasks.exe /CREATE /SC WEEKLY /D \"$daysList\" /TN \"Action Item Reminder\" /TR \"php.exe C:\\wamp\\www\\aim\\module\\Application\\src\\Application\\Controller\\sendmail.php\" /ST 00:01 /f";
pclose(popen("start /B ". $cmd, "r"));
//echo "c:\\windows\\system32\\schtasks.exe /CREATE /SC WEEKLY /D \"$daysList\" /TN \"Action Item Reminder\" /TR \"C:\\wamp\\bin\\php\\php5.5.12\\php.exe C:\\wamp\\www\\aim\\module\\Application\\src\\Application\\Controller\\sendmail.php\" /ST 00:01 /f";
//echo '/CREATE /SC WEEKLY /D "'. $daysList .'" /TN "Action Item Reminder" /TR "C:\wamp\www\aim\module\Application\src\Application\Controller\sendmail.php" /ST 00:01 /f"'; die();
if (isset ($activate))
{
$emailOptionTable->update('true', 'Activate Reminders');
$cmd = "c:\\windows\\system32\\schtasks.exe /Change /TN \"Action Item Reminder\" /Enable";
pclose(popen("start /B ". $cmd, "r"));
}
else
{
$emailOptionTable->update('false', 'Activate Reminders');
$cmd = "c:\\windows\\system32\\schtasks.exe /Change /TN \"Action Item Reminder\" /Disable";
pclose(popen("start /B ". $cmd, "r"));
}
编辑
问题的本地化
Apache 错误日志显示此消息
错误:未完成帐户名称和安全 ID 之间的映射。
(46,4):UserId:ERROR: 帐户名和安全 ID 之间没有映射 完成了。
(46,4):UserId:
我需要做什么来解决这个问题?
【问题讨论】:
标签: php scheduled-tasks wampserver