「必要なモジュールが使用できません。」というエラーが出ます

現象

管理画面にアクセスすると「必要なモジュールが使用できません。」というエラーが出る。

エラーメッセージの例

必要なモジュールが使用できません。(File::Basename,File::Path)

原因

サーバによってはプログラムに含まれているモジュール(プラグインのようなもの)の使用が制限されている場合があり、このエラーメッセージが出ます。

メッセージ中のカッコ内に記載されているのが必要なモジュールの名前です(カンマ区切)。上記例の場合は以下の2つです。

  • File::Basename
  • File::Path

対応方法

サーバ側の対応が必要です。サーバの管理者やレンタルサーバ会社に「CGIプログラムで Perl モジュール○○を利用したい」とお問い合せ下さい(○○ はエラーメッセージに含まれていたモジュール名)。

サーバ会社側から「use lib ....」というコードをプログラムに加えるようにという指示があった場合、その通り編集の上ご利用下さい。

サーバ会社側での対応が不可能な場合、当該サーバでは製品をご利用頂けません。

「必要なモジュールが使用できません。(CGI)」の場合

「必要なモジュールが使用できません。(CGI)」というエラーが出る場合も、これは「Perl モジュール CGI」が使えないというエラーを意味します。

「Perl モジュール CGI」と「Perl のCGI プログラム」は別のものを指し、エラーが出ているのは「Perl モジュール CGI」の利用ができないことに依ります。Perl のCGIプログラムは動かせても、Perl モジュール CGI が使えない時にこのエラーとなります。

サーバ会社またはサーバ管理者に話が伝わりにくければ、「Perl モジュール CGI.pm を使いたい」という言い方をしてみて下さい。