1

tomcat で cgi スクリプト (.cgi) を実行しようとしています。以下のエラーが発生し、何が問題なのかわかりません。私は本当にapacheとmodプロキシを使用する必要があることを知っていますが、これは私の専門分野ではないので、簡単な方法を取っています!

助けてくれてありがとう。

java.io.IOException: プログラム "perl" を実行できません (ディレクトリ "C:\Java\tomcat\webapps\my_app_name\WEB-INF\cgi" 内): CreateProcess エラー = 2、指定されたファイルが見つかりません
    java.lang.ProcessBuilder.start(ProcessBuilder.java:459)
    java.lang.Runtime.exec(Runtime.java:593)
    java.lang.Runtime.exec(Runtime.java:431)
    org.apache.catalina.servlets.CGIServlet$CGIRunner.run(CGIServlet.java:1705)
    org.apache.catalina.servlets.CGIServlet.doGet(CGIServlet.java:597)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
    org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:416)
4

5 に答える 5

2

これは推測にすぎませんがweb.xml、Tomcat が perl 実行可能ファイルを見つけられるように、ファイルに次を追加する必要がある場合があります。PATHどうやら、Tomcatは実行可能ファイルを見つけるためにあなたを調べません:

executable
C:\perl\bin\perl

もちろん、システム上の perl への実際のパスを使用してください。

于 2009-01-31T20:28:04.330 に答える
1

servlet 要素に「executable」パラメータを指定する必要があります。documentationによると、デフォルトは「perl」であり、おそらくこれがエラーの原因です。おそらくcmd.exeのようなものに変更するとうまくいくでしょう。

于 2009-02-01T00:48:02.607 に答える
0

perl はインストールされていません。CGI スクリプトは実際には c++ です。デフォルトのTomcatインストール以外は何もインストールしていません。

于 2009-01-31T21:00:15.590 に答える
0

このエラーは、指定された実行可能ファイルperlが見つからないことを示しています。システムに perl がインストールされていますか? それはパスにありますか?

于 2009-01-31T20:30:28.663 に答える
0

皆さんありがとうございます。C++ cgi スクリプトを実行するための正しい構文がわかりませんでしたが、パラメータを空白のままにすると、どのスクリプト タイプも実行されます。

<init-param>
  <param-name>executable</param-name>
  <param-value></param-value>
</init-param>
于 2009-02-01T10:03:57.867 に答える