現象
管理画面にアクセスすると「必要なモジュールが使用できません。」というエラーが出る。
エラーメッセージの例
必要なモジュールが使用できません。(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 を使いたい」という言い方をしてみて下さい。