こんばんは、ゆーじです。
中田さんへ>
指摘されたとおり、PerlIS.dllのフルパスを入力、#!チェックをはずして
テストしてみたところ、無事に動作しました。
やっぱり、ISAPIは快適ですね〜♪
レスポンス、ありがとうございました。
ゆーじさん、
LoadLibrary の中身が空ですから何をロードすればいいのか判定できていないということですね。
Extension の .pl,.cgi のところは perl.exe ではなく PerlIS.dll のフルパスを入れてください。(たとえば C:\Perl\bin\PerlIS.dll など。)それが昔のISAPI強制使用に相当します。
そして、#! のチェックははずしてください。
#! がうまく機能していないようなので見直してみます。
追記です。
念のため、レジストリで前の設定を削除して最初からやり直しましたが、
改善されませんでした。(T▽T)
初めまして。Version 0.9あたりからhttpdを利用させて頂いております。
この度、Windows98で使っていたhttpdを、Windows95の環境に戻して
使おうとしたら、Perl ISAPI(PerlIS.dll)が正常に動作しません。
環境は、Win95+IE5(IE4を入れた後)。
DCOM95、MSVCRT.DLLは、インストール済みです。
現在の httpd の Version は、1.32f です。
Perlは、ActivePerl 620 を使用しています。(MS Instllerを使用)
IIS(というかPWS)は入れてません。
CGI実行してみると、
「ISAPI Error Internal Error. See "errors.log".」と出ます。
errors.logの内容は、
「LoadLibrary("") failed with errorcode = 1157」
httpd.logの内容は、エラー番号500の記述がありました。
isapi.logには、Loading Library,ISAPI Library unloadedとしかありませんでした。
perl.exeで実行すると、ちゃんと結果表示(正常動作)されます。
Options/Generalの、Extension(.pl,.cgi)では、perlのパスのみを入れてあります。
一般パス、PATH_TRANSLATED、#!チェックを入れてあります。
CGI/SSI ProcessControlでは、parse CGI outputのみにチェックを入れてあります。
ISAPI Timeoutはデフォルトのままの20秒です。
Perlスクリプトの方は、最初の行に、
「#!PerlIS.dll」
と書いてあります。
記憶が朧気だったのですが、perl実行ファイルの指定の場所に、
PerlIS.dllのあるbinディレクトリを指定して、スクリプトの方に、「#!PerlIS.dll」
と記述すればよかったというのを覚えていて、Win98で実際にこれで動作していました。
でも、Win95にしてから、PerlIS.dllではエラー続発。オプションを切り替えても、
「ページが表示できません」(IE)
「ドキュメントにデータが含まれていません」(Netscape)
と怒られてしまいます。
せっかく、今までPerlISで快適なperl生活を送っていたので、
どうにか動かしたいと思っているのですが、過去のhttpdにあった、
強制的にPerlIS.dllで実行するようなオプションがあった気がするのですが、
最近のバージョンでは ISAPI Timeoutしか見られなくなってしまい、
具体的な指定をどこでして良いのか分からないので投稿しました。
ActivePerlが問題かな?と思い、過去のバージョン(5xxあたり)の方も
入れてみたのですが、一向に解決しません。(T▽T)
httpdも過去のバージョン(1.31c)を入れて試しましたが、ISAPI Errorのメッセージすら
出ずに、黙り込んでしまうことも度々あったので、お手上げ状態です。(^-^;
どなたか、情報をお持ちの方、
「ここはどうなってるの?」
「ここはこうじゃないと駄目だよ。」
「諦めなさい。」
「Win98じゃないと動かないよ。」<趣旨と違う。(笑)
何でもよろしいので、情報を頂けると嬉しいです。
それでは、よろしくお願いします。