CakePHP外壳“;“无法启动”;从计划任务和Windows 2003服务器

CakePHP外壳“;“无法启动”;从计划任务和Windows 2003服务器,cakephp,scheduled-tasks,cakephp-2.2,windows-2003-webserver,cakephp-2.3,Cakephp,Scheduled Tasks,Cakephp 2.2,Windows 2003 Webserver,Cakephp 2.3,我试图通过Windows2003Server的预定任务运行CakePHP Shell脚本,但发现该任务无法启动 当我从命令提示符手动运行它时,它工作得很好: C:\Inetpub\wwwroot\CakePHP\lib\Cake\Console\cake mail read “计划任务运行”字段完全相同,并且“开始时间”设置为: C:\Inetpub\wwwroot\tickets\app 运行方式字段设置为拥有所有权限的计算机管理员(不是ISS用户) 计划任务日志在尝试执行时显示此消息:

我试图通过Windows2003Server的预定任务运行CakePHP Shell脚本,但发现该任务无法启动

当我从命令提示符手动运行它时,它工作得很好:

C:\Inetpub\wwwroot\CakePHP\lib\Cake\Console\cake mail read
“计划任务运行”字段完全相同,并且“开始时间”设置为:

C:\Inetpub\wwwroot\tickets\app
运行方式字段设置为拥有所有权限的计算机管理员(不是ISS用户)

计划任务日志在尝试执行时显示此消息:

“票务邮件系统.作业”(cake)13/12/2012 07:15:00**错误**

无法启动任务

具体错误是:

0x80070005:访问被拒绝

这似乎是一个权限问题

我已尝试将
lib/Cake/Consol/Cake.bat
文件的所有权限交给两个用户,即IIS 6用户和Internet来宾帐户用户,但仍然不起作用


知道原因是什么吗?

它在Windows 7上运行良好,但在Windows 2003 Server上没有

最后,我尝试在调用Shell之后添加
.bat
,结果它成功了

我必须把这个放在Run字段中:

Windows 2003似乎需要在最后使用
.bat


我在:

谢谢大家,这解决了我的问题

我发现我的“.bat”文件的扩展名是“.CMD”,到目前为止似乎还可以正常工作


通过重命名文件扩展名并更改任务计划程序中的目录来修复此问题。(因为它仍然具有“.CMD”扩展名。

如果您在谷歌上搜索错误代码(“计划任务0x80070005”),则需要尝试大量疑难解答:检查事件日志,确保它以管理员身份运行(您的管理员用户确实是管理员组的一部分),确保任务目录有正确的权限,确保cmd.exe有正确的权限,等等。我已经试过了:)明白了!隐马尔可夫模型。。您是否尝试过以IIS用户身份运行,并向该IIS用户授予cmd.exe权限?(不是说管理员不应该工作…)是的,我试过:)我玩了
cmd.exe
cake.bat
的权限。什么都没用。但现在我找到了解决办法。这是我的答案。哈,这很奇怪——我从来没有遇到过这个问题。Windows对我来说从来都不需要
.bat
扩展名,它总是认为应该使用该文件。很高兴你成功了!
C:\Inetpub\wwwroot\CakePHP\lib\Cake\Console\cake.bat mail read