• 締切済み

xamppでcgiが動かない

Mac OS10.6.8でXAMPPをインストールした後 htdocs/test/というフォルダを作って http://test/ となるような環境を作りました。 httpd-vhosts.confファイルには <VirtualHost *:80> DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/test" ServerName test </VirtualHost> <Directory "/Applications/XAMPP/xamppfiles/htdocs/test"> Options Indexes FollowSymLinks MultiViews Includes ExecCGI AddType text/html .shtml .html AddHandler server-parsed .shtml .html AddHandler cgi-script .cgi .pl AllowOverride All Order allow,deny Allow from all </Directory> このように記述しております。 http://test/test.cgiにアクセスしたら Error message: Premature end of script headers: test.cgi このように言われてしまいました。 これは何が原因なのでしょうか? パスが間違っているのかな?と思ったのですが、XAMPPを使った場合 test.cgiファイルのパスはどうすればいいのでしょうか? よろしければ教えて下さい。 ※ とりあえず usr/bin/perl としました。

みんなの回答

  • tomaju
  • ベストアンサー率76% (84/110)
回答No.1

> test.cgiファイルのパスはどうすればいいのでしょうか? > ※ とりあえず usr/bin/perl としました。 test.cgi の先頭で指定するperlコマンドのパスでしょうかね。 http://www.tinybeans.net/blog/2009/11/20-044028.html では、 #!/Applications/xampp/xamppfiles/bin/perl としています。 ご質問のコンフィグを見ると、インストール先のディレクトリの名前が XAMPP と大文字になっています。 DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/test" なので、 #!/Applications/XAMPP/xamppfiles/bin/perl とする必要があるかもしれません。 また /Applications/XAMPP/logs/error_log に Apache のエラーログが 出力されていると思いますので、参照するとより詳しいことがわかるかもしれません。 ターミナル上から /Applications/XAMPP/xamppfiles/htdocs/test/test.cgi を 実行し、正常に動くかどうか確認してみるといいかもしれません。

tella8
質問者

お礼

ごめんなさい!補足とお礼を間違えてしまっていました。 大変失礼致しました。 MobileTypeというものを入れてみたら、いろいろ足りないよと言われました。 tomaju様に教えていただいたサイトを参考にさせていただきます。 ありがとうございました。

tella8
質問者

補足

ご回答ありがとうございました。 #!/Applications/XAMPP/xamppfiles/bin/perl 上記のようにパスを変更したのですが、 [Mon Oct 31 10:35:22 2011] [error] [client 127.0.0.1] (13)Permission denied: exec of '/Applications/XAMPP/xamppfiles/htdocs/test/test.cgi' failed [Mon Oct 31 10:35:22 2011] [error] [client 127.0.0.1] Premature end of script headers: test.cgi このようにエラーログが出ました。 あと、http://httpd.apache.org/docs/2.0/howto/cgi.html 上記のサイトを参考に、httpd.confファイルに   ScriptAlias /cgi-bin/ "/Applications/XAMPP/xamppfiles/bin/" このように書き込んでみたのですが、 エラーログは変わりませんでした。 ターミナルから/Applications/XAMPP/xamppfiles/htdocs/test/test.cgiを実行してみたところ   -bash: /Applications/XAMPP/xamppfiles/htdocs/test/test.cgi: Permission denied このように返されました。 chmod 705や604を試しましたが結果は同じでした。 755にすると   chmod: Unable to change file mode on /Applications/XAMPP/xamppfiles/htdocs/test/test.cgi: Operation not permitted このように返されました。

関連するQ&A