0

我想通過Windows 2003服務器的計劃任務運行CakePHP Shell腳本,並且我發現任務無法啓動CakePHP Shell從計劃任務和Windows 2003服務器「無法啓動」

當我手動運行在命令提示符下效果很好:

C:\Inetpub\wwwroot\CakePHP\lib\Cake\Console\cake mail read 

計劃任務運行領域是完全一樣的和開始在設置爲:

C:\Inetpub\wwwroot\tickets\app 

作爲運行字段被設置爲具有所有權限的計算機管理員(不是ISS用戶)

「票務郵件System.job」(餅)13/12/2012 7點15分00秒**錯誤**

無法:試圖執行它時計劃任務日誌顯示此消息開始任務。

具體的錯誤是:

0x80070005:訪問被拒絕。

看來這是一個權限問題。

我曾試圖給在lib/Cake/Consol/cake.bat文件中的所有權限,爲用戶的IIS 6用戶和Internet來賓帳戶用戶,但仍然無法正常工作。

任何可能的原因?

+0

如果谷歌的錯誤代碼(‘計劃任務0X80070005’),有大量的故障排除嘗試:檢查事件日誌,確保它以管理員身份運行(管理員用戶確實是管理員組的一部分),確保任務目錄具有正確的權限,確保cmd。EXE的,等等。 – jeremyharris

+0

我已經試過這些東西:) – Alvaro

+0

知道了!嗯..你是否曾嘗試以IIS用戶身份運行並將該用戶的權限授予cmd.exe? (不是那個管理員不應該工作......) – jeremyharris

回答

1

它在Windows 7上運行良好,但它並未在Window 2003 Server上運行。

最後,我試着在調用Shell之後添加.bat並且它工作正常。

我不得不把這個在運行領域:

C:\Inetpub\wwwroot\CakePHP\lib\Cake\Console\cake.bat mail read 

看來Windows 2003的需要.bat末...

我發現它在:http://www.geekyboy.com/archives/376

+0

嗯,這很奇怪 - 我從來沒有遇到過這個問題。 Windows從來不需要'.bat'擴展名,它總是認識到它應該使用該文件。真高興你做到了! – jeremyharris

0

謝謝你們,這讓我的問題得到了解決。

發現我的「.bat」文件改爲擴展名「.CMD」,直到現在,它似乎都能正常工作。

通過重命名文件擴展名,並在任務調度器變更目錄固定它。(因爲它仍然有「.CMD」擴展名。