人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Perlをapacheで動かすときのみ、use mecab が失敗します。

Mac(Lion)にてmecabとPerl用のモジュールをインストールし、ターミナルでmecab単体で動くことを確認し、その後またターミナルでPerlで書かれたサンプルコードを読み込み、動くことを確認しました( perl perltest.pl )。

そしていよいよapache上で動かそうと思ったのですが( perltest.cgi)、apacheでウェブアプリケーションとして動かそうとしてもMeCab.pmを読み込んでくれません。失敗してエラーになります。

apacheのコンソールを見るとCan't locate MeCab.pm in @INCとなっているので場所がわからない状態なのかと思います。use mecabをコメントアウトするとちゃんと動くので、間違いなく原因はここかと思います。

ターミナル上と違い、Perlのモジュールをapacheで動かす場合は何か設定が必要なのでしょうか。

●質問者: susimaki
●カテゴリ:インターネット ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● studiocherry
ベストアンサー

おそらく apache の実行ユーザで、perl モジュールのサーチパスが、設定されていないのだと思います。

perl プログラムの中で、モジュールを呼び出す前に 'use lib' することで、perl モジュールのサーチパスを追加することが出来ますので、以下のようにプログラムを追加してください。

?略?
use lib 'Perl モジュールのディレクトリ';
use MeCab;
?略?

最後に use lib のドキュメントのURL を書いておきます。
http://search.cpan.org/~smueller/lib-0.63/lib_pm.PL


susimakiさんのコメント
ご回答ありがとうございます! おっしゃるとおりuse lib してみたんですが、変わらないです。根本的に何かがおかしいのか・・・。 2日間悩んで結局phpの方を利用することにしました。こちらならうまくいきました。申し訳ないです。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ