CakePHP外壳“;“无法启动”;从计划任务和Windows 2003服务器
我试图通过Windows2003Server的预定任务运行CakePHP Shell脚本,但发现该任务无法启动 当我从命令提示符手动运行它时,它工作得很好: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用户) 计划任务日志在尝试执行时显示此消息:
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