- 締切済み
こんにちは(初質問です)
こんにちは(初質問です) いままでは順調だったのですがテストをしていると・・・ 新規登録画面 名前 メールアドレス 希望ID 各項目を入力して送信すると以下のようなエラーが出て・・・ Open Error: /home/user/private_html/protect/.htpasswd こまっています 内部調査では大まかに・・・ # IDの重複チェック local($f) = 0; open(IN,"$pwdfile") || &error("Open Error: $pwdfile"); while (<IN>) { local($id) = split(/:/); if ($in{'id'} eq $id) { $f++; last; } } close(IN); if ($f) { &error("$in{'id'}は既に発行済です。<br>他のIDをご指定ください"); } このプログラムの・・・ open(IN,"$pwdfile") || &error("Open Error: $pwdfile"); ここの部分が表示されてるようです もちろんテスト中なので公開もしてないし・・・ おなじIDとかももちろんないです あとすこしでできるのでおねがいします>< ついでに 通常はyahooを利用するのですがトラブルが起きてるみたいで つかえなかったのでここでしてます^^;
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- YkazubonY
- ベストアンサー率30% (26/86)
エラーの詳細原因が$!変数に入っているので、これを表示してみたら対策が出来ると思います。
- 藤田 朋郎(@hujitomo)
- ベストアンサー率54% (39/71)
>ファイルを確認してみましたがちゃんとありました >名前もあってます ファイルがあるかどうかじゃなくて『指定したパスにファイルがあるかどうか』が重要です。 >/home/user/private_html/protect/.htpasswd 確実にこのパスにそのファイル(.htpasswd)があるかどうかを確認してみてください。 /で始まるパスの指定の意味がわからないのであるならば、「$pwdfile」の値を相対パスにしてみるのもひとつの方法です(「パス」の意味がわからないのであるならば、諦めてください。これが理解できない場合は Perl に限らずあらゆるプログラムを理解することができません) あと#1さんもおっしゃってますが、ファイル権限も一応疑ってみて。
- taka37777
- ベストアンサー率30% (166/544)
/home/user/private_html/protect/.htpasswd というファイルが無い、オープンする権限が無いとか確認されてはどうでしょうか?
補足
記入すべきところまちがってたらすいません^^; ファイルを確認してみましたがちゃんとありました 名前もあってます private_htmlのファイルとかはないですが・・ フリーでプログラムが配布されててダウンロードをするのですが このようなファイルはなかったです