0

Windows 2003サーバーのスケジュールされたタスクを介してCakePHPシェルスクリプトを実行しようとしていますが、タスクを開始できませんでした。

コマンドプロンプトから手動で実行すると、うまく機能します。

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

[スケジュールされたタスクの実行]フィールドはまったく同じであり、[開始]は次のように設定されています。

C:\Inetpub\wwwroot\tickets\app

[実行]フィールドは、(ISSユーザーではなく)すべてのアクセス許可を持つコンピューター管理者として設定されます。

スケジュールされたタスクログには、実行しようとすると次のメッセージが表示されます。

「TicketMailSystem.job」(ケーキ)2012/12/1307:15:00**エラー**

タスクを開始できません。

具体的なエラーは次のとおりです。

0x80070005:アクセスが拒否されました。

権限の問題のようです。

IIS 6ユーザーとインターネットゲストアカウントlib/Cake/Consol/cake.batユーザーの両方のユーザーにすべてのアクセス許可をファイルに渡そうとしましたが、それでも機能しません。

原因となる可能性のあるアイデアはありますか?

4

2 に答える 2

1

Windows 7ではうまく機能しましたが、Windows2003Serverでは機能しませんでした。

.bat最後に、シェルを呼び出してから追加してみましたが、動作します。

これを[実行]フィールドに入力する必要がありました。

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

Windows2003.batは最後にが必要なようです...

私はそれを見つけました:http://www.geekyboy.com/archives/376

于 2012-12-13T15:07:10.330 に答える
0

みんなありがとう、これで私の問題は解決しました。

代わりに、私の「.bat」ファイルの拡張子が「.CMD」であることがわかりました。これは、これまでは正常に機能しているようです。

ファイル拡張子の名前を変更し、タスクスケジューラのディレクトリを変更することで修正しました(まだ「.CMD」拡張子が付いているため)。

于 2013-03-08T17:07:29.463 に答える