質問: はじめまして。 Perl超初心者です。 先日、あるサイトのリニューアルをし、PHPでシステムを組んだのですが、一部のコンテンツに関しては、前の業者がPerlで組んでいたシステムをそのまま転用することになりました。 そこで、以前のデータを貰って、サーバのcgi-binのフォルダにそれらのデータをコピーし、関係すると思われるファイルのパーミッションを、755にし、 また、以前は、ファイルの一行目が、#!usr/local/bin/perl だったのですが、 これを、#!usr/bin/perl に修正しましたが、動いてくれません。 Internal Server Error と出てしまいます。 試しに、単純な text.cgi #!/usr/bin/perl print "Content-Type: text/html\n\n"; print "OK"; というファイルを置いてみたのですが、これは動いています。 ちなみに、移行しなければならないcgiファイルは、プログラムの中で、.pl ファイルを複数読み込んでいるのですが、このファイルのパーミッションは、755で良いのでしょうか? また、このプログラムでは、 cgi-bin のディレクトリから、 data というディレクトリの中にある.datファイルを読み込むはずなのですが、このdataというディレクトリは、cgi-binと同階層に置けばよいでしょうか? Internal Server Errorというエラーは、どういうときに出るエラーなのでしょうか? 色々ファイルを操作しても、このエラーしか出ないので、どう対処してよいかよく分かりません。 不勉強で大変心苦しいのですが、 ご回答よろしくお願いいたします。
回答: 業者が、、、という事なので、関係ないかもしれま せんが、もしフリーのスペースで広告等がある場合、 それが邪魔をしてるかもしれません。 No1の方の通り、詳しくはわかりません。 plは読み込みだけなので、644でもOKです。 755でも、動くと思いますが。 datは、指定された位置に置いてください。 また、cgi-binもCGIを置く場所の指定がサーバに よって違います。 cgi-binの中のフォルダーならどこでもOKなものも あれば、スペース内ならどこでもOKもあるし、cgi-bin ってフォルダーがNGの場合もあります。 サーバのcgi設置方法と、cgiの中の説明をしっかり読み ましょう。