CGI-BBS > CGI > Perl > Perlについてアップロードしたイメージファイルを表示できない。


カレッヂ
カレッヂ


質問者 r_miyata  投稿日 7/29(火) 00:39:39
個人的にperlで掲示板を作成してみていますが、
行き詰まってしまいました。

掲示板の機能として、イメージファイルのアップロードを
行わせるcgiを作成し、実行しました。

アップロード自体はcgi-bin以下に用意したディレクトリに正常に実行されます。

しかし、そのファイルをブラウザの画面に表示させようとした場合、
HTMLのIMGタグ内のurlで

http://....../cgi-bin/bbs/images/xxx.jpg

と絶対パスでローカルサーバ内のファイルの指定はされているのですが、
表示が行われず、ログを見ると以下のようなエラーが発生していました。

c:/program files/apache group/apache/cgi-bin/bbs/images/image.gif is not executable; ensure interpreted scripts have "#!" first line
couldn't spawn child process: c:/program files/apache group/apache/cgi-bin/bbs/images/image.gif

どうやらイメージファイルがperlのソースとして解釈され、
実行しようとしてエラーが出てしまっているようなのです。

このような場合は、どのようにすれば正しく表示できるのでしょうか。

どなたかご理解のある方、ご教授いただけませんでしょうか?
よろしくお願いします。

プロバイダ参照:
サーバのOS:WINサーバ
パソコンのOS:WinNT系
エディタ:秀丸エディタ
FTPソフト:
サーバ移転:していない
改造:していない
CGI習熟度:middle

回答者 やまだ  [削除]  投稿日 7/29(火) 02:42:55
ScriptAliasだと実行ファイルとして解析してしまうことで、起こる初歩のミズかなと。
そこをAliasとして、OptionsにExecCGIを追加してみるとよいでしょう。
質問者 r_miyata  [削除]  投稿日 7/29(火) 21:44:20
>ScriptAliasだと実行ファイルとして解析してしまうことで、起こる初歩のミズかなと。
>そこをAliasとして、OptionsにExecCGIを追加してみるとよいでしょう。


やまだ様

私のローカルサーバ(Apache)の設定ファイル httpd.confファイルの
ScriptAlias内の設定は以下のようになっていますが、
これではダメだということでしょうか?


    #
    # ScriptAlias: This controls which directories contain server scripts.
    # ScriptAliases are essentially the same as Aliases, except that
    # documents in the realname directory are treated as applications and
    # run by the server when requested rather than as documents sent to the client.
    # The same rules about trailing "/" apply to ScriptAlias directives as to
    # Alias.
    #
    ScriptAlias /cgi-bin/ "C:/Program Files/Apache Group/Apache/cgi-bin/"

    #
    # "C:/Program Files/Apache Group/Apache/cgi-bin" should be changed to whatever your ScriptAliased
    # CGI directory exists, if you have that configured.
    #
    <Directory "C:/Program Files/Apache Group/Apache/cgi-bin">
        AllowOverride None
        Options ExecCGI
        AddHandler cgi-script .cgi .pl
        Order allow,deny
        Allow from all
    </Directory>


ご助言頂いたのですが、私はまだこのあたりの設定を
いまいち理解できていないと感じます…。すみません。
回答者 やまだ  [削除]  投稿日 7/29(火) 23:22:04
http://www.apache.jp/docs/howto/cgi.htmlか附属のマニュアルをよく読みましょう。
質問者 r_miyata  [削除]  投稿日 7/30(水) 00:26:13
やまだ様

画像の表示が実行できました!!

ご教授いただいた内容とApacheのドキュメントとで、
や〜っと意味が理解できました。

ありがとうございました。

このページは終了したので返信(回答)は書きこめません
 


Web裏技