CGIエラー 「Can’t locate CGI/Carp.pm in〜〜」

2021-06-28

先日、ApacheでCGIを動かすでCGIを動作する環境をつくりました。
メッセージを表示する簡単なCGIは動くので、実際に設置するお問い合わせフォームのCGIにアクセスすると、Internal Server Errorでエラーとなり駄目でした。

原因を探るためApacheのエラーログを見ると「Can’t locate CGI/Carp.pm〜〜」と表示されています

[Mon Nov 27 11:53:48 2017] [error] [client xxx.xxx.xxx.xxx] Can't locate CGI/Carp.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /var/www/html/cgi-bin
[Mon Nov 27 11:53:48 2017] [error] [client xxx.xxx.xxx.xxx] BEGIN failed--compilation aborted at /var/www/html/cgi-bin
/mailformpro.cgi line 3., referer: http://example.com/cgi-bin/example.html

原因ですが、perl-CGIがインストールされていないのが原因みたいですので、「perl-CGI」をインストールします

$ sudo yum install perl-CGI

#念のため、Apacheも再起動しておきます
$ sudo /etc/init.d/httpd restart

 

LinuxApache,CentOS 5,CentOS 6

Posted by admin