0

助けてください!私は本当にこの問題に夢中です!

私はCGIperlスクリプトを持っていますが、Apache HTTPサーバーから実行すると、常に次の行で失敗します。

tie %db, 'MLDBM', "$data_path/$db_name.db", O_RDONLY, 0640 or die $!

エラーは許可が拒否されました:

ソフトウェアエラー:

/ var / www / cgi-bin / rich / pages/display行381でアクセスが拒否されました。

ヘルプが必要な場合は、このエラーメッセージとエラーの日時を記載したメールをウェブマスター(root @ localhost)に送信してください。

ただし、コマンドラインから実行すると問題なく動作します。

結び付けるディレクトリとファイルに正しいアクセス許可があることを確認しました。

それで、私は他に何を逃しましたか?Apacheのhttpd.confのどの構成が間違っている可能性がありますか?確かに、私はこれまでApache HTTPサーバーを使った経験がなかったので、ApacheHTTPサーバーをいじるのはこれが初めてです。しかし、私は何度もマニュアルを読んで間違っている可能性のあるものを探しましたが、何も気づきませんでした。もちろん、私は間違っている可能性があります。

ありがとう!!

4

1 に答える 1

0

あなたはそれを確認し、彼らがしていると思うこと$data_pathを含んでいますか?$db_name

$data_pathアクティブユーザーのIDまたはホームディレクトリに依存しない絶対パスですか?

ls -l $data_path/$db_name.dbファイルの所有権と権限には何が表示されますか?

私は、CGIプロセスがファイルを開く許可を得るのを妨げるようなApacheの何かに出くわした(または聞いたことがない)ので、それがApache構成の問題であるとは非常に疑っています。ほとんどの場合、apacheがCGIプロセスを実行しているユーザーに対して、間違ったファイルを検索しているか、ファイルのアクセス許可が正しくありません。

于 2010-06-17T09:22:48.830 に答える