レンタルサーバを借りてサイトを運営しております。
このたび、RSSリーダを作ろうと思い、CPANからXML::RSSモジュールを落としてきました。
いろんなサイトを見まして、標準モジュールではないのでインストールが必要と書いてあり、落胆していましたが、
あるサイトに、
./XML/RSS/というディレクトリを掘ってその中に格納すれば使える
と書いてありましたので、
ローカル(Win32)でXML/RSSと2つフォルダを作り、
そのなかにRSS.pmをいれました。
すると使えません。
で、今度は、XMLというフォルダの中に直接RSS.pmを入れて使うと、
きちんと動きました。
レンタルサーバにFTPでアップすると、
どうしても500エラーが出ます。
いろいろコメントアウトして原因を探ると、
どうもuse XML::RSSでエラーが発生しているみたいなのです。
レンタルサーバはUNIXなので、
文字コードを変えたり、パーミッションを700,755,777,705,etc...と
いろいろ設定しましたが動かず、どうしていいものかわかりません。
CGIやPerlについての知識があまりないのでどうしたらよいのかも全く見当がつきません。
過去の質問も見ましたが見当たりませんでした。
なんとしてもRSSリーダを完成させたいので、
どうぞよろしくお願い申し上げます。
No.3ベストアンサー
- 回答日時:
@INCに含まれるディレクトリに目的のディレクトリがない
ということであれば、
モジュールを use で取り込む前に
use lib '追加したいディレクトリのパス'
を実行すればよいです。
use lib の引数にはリストを取れますが
まあ複数登録したいということもないでしょうからとりあえず。
詳しく知りたければ
perldoc lib
でドキュメントを見てください。
ところで
#2のお礼のところにある
> 同梱のEXAMPLEに入っていたRSS2HTML.PLですら同じエラーが出ます。
> "encode_eniaties_numeric is not >exported by the HTML:Entities module at XML/RSS.pm line 5"
> これは何を意味するのでしょうか。
HTML::Entities というモジュールのバージョンアップの必要があるとか?
パスを追加したいのですが、
ルートディレクトリからだと思うのでわからないのです。
Perlスクリプトの正確な位置を返す変数かなにかありますでしょうか。
$ENV{'SCRIPT_NAME'}だと不完全で。
No.2
- 回答日時:
念のために最新のXML::RSS(1.31)は以下のすべてのファイルの設置が必要です
./XML/RSS.pm
./XML/RSS/Private/Output/Base.pm
./XML/RSS/Private/Output/Roles/ImageDims.pm
./XML/RSS/Private/Output/Roles/ModulesElems.pm
./XML/RSS/Private/Output/V0_91.pm
./XML/RSS/Private/Output/V0_9.pm
./XML/RSS/Private/Output/V1_0.pm
./XML/RSS/Private/Output/V2_0.pm
XML-RSS-1.21 の古いバージョンだと
./XML/RSS.pm
の設置だけでも何とかなるかもしれません。
それでも駄目な時は、さらに古い 0.96 ではどうでしょう?
ありがとうございます。
バージョンが1.02だったので、1.31の最新版をDLしてきました。
ローカルでも全く動かなくなりました。
同梱のEXAMPLEに入っていたRSS2HTML.PLですら同じエラーが出ます。
"encode_eniaties_numeric is not exported by the HTML:Entities module at XML/RSS.pm line 5"
これは何を意味するのでしょうか。
No.1
- 回答日時:
なんで500エラーになっているか調べられないのですか?
httpdのログを見るとか。
多分置いた場所と @INC に格納されている情報のつじつまが合っていないんじゃ
ないかと思いますけど。
ログを見ることができないのなら、
CGI::Carpを使って、エラーメッセージをブラウザで見られるように
するとよいでしょう。
use CGI::Carp qw(fatalsToBrowser);
少なくともあてずっぽうにあれこれやらないですみます。
原因がつかめたらこの行はコメントアウトしときましょう。
レンタルサーバなのでログは見られないのです。
教えていただいた方法で見たところ、
@INCの問題でした。
その後どうしたらいいかわかりません。
教えていただけないでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Perl Perl の外部モジュールの利用方法 3 2022/07/10 18:34
- Perl RSSにdiv,ul classを付けたいのですがどのようにつけるのかわからないです 2 2022/03/28 01:53
- WordPress(ワードプレス) ワードプレスにて .xmlファイルの使い方をご存知の方、よろしくお願いいたします。 2 2022/09/30 00:55
- PHP phpのエラーについて 1 2022/06/27 22:30
- 教えて!goo RSSについて 1 2022/08/17 15:15
- その他(ブログ) まとめサイトを成長させる方法について 1 2022/12/30 18:14
- サーバー FTPサーバについて詳しい方(アクセス権のないディレクトリを非表示にする方法) 4 2022/08/22 22:33
- XML XML同じ名前の要素を自動で集約するツール 1 2022/04/11 09:21
- Visual Basic(VBA) vbaのエラー対応(実行時エラー7:メモリが不足しています) 4 2023/04/24 00:20
- gooブログ gooブログについて 1 2022/05/09 09:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
CGI::Carpを使っているのにInte...
-
ArduinoのジャイロモジュールMP...
-
Excel VBAでリンク切れをチェッ...
-
モジュールとクラスの違いって...
-
VBAでoutlook365が起動しません。
-
Excel VBAで、ユーザーフォー...
-
Wordで、分かち書きをするVBA ...
-
Excel VBA 定義されたプロージ...
-
Excelで時刻になったら知らせて...
-
powershellで関数名を変更する...
-
グラフのX,Y座標を取得したい
-
vba 標準モジュールインポート...
-
例外処理のフローチャートの記...
-
COBOLで、Shellを起動するには?
-
Perl+DBD::Oracleのエラーがわ...
-
VB.NETでの他アプリケーション...
-
VBAのモジュールについて教えて...
-
Apache2 静的・動的モジュール...
-
BASP21使用のメール送信でコマ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
LCD ディスプレイを Raspberry ...
-
laravel 本番環境でメールが送...
-
"use CGI::Session"でエラーが...
-
Unicode::Japanese を継承できない
-
MySQLとの接続でfetchrow_array...
-
DBIが入っているはずですが、、、
-
Perlで画像のサイズ取得する方法
-
Excel VBAでリンク切れをチェッ...
-
Excel VBA 定義されたプロージ...
-
例外処理のフローチャートの記...
-
ArduinoのジャイロモジュールMP...
-
ユーザー定義関数に#NAME?が返...
-
「デバイスは PRN を初期化でき...
-
VBAで別モジュールへの変数の受...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
モジュールとは何ですか
-
ハマったので助けて~。Apache...
-
VBA This Workbookモジュール...
-
VBでグローバル変数を宣言するには
おすすめ情報