• ベストアンサー
  • すぐに回答を!

php、cgi(perl)をlinuxに移行

php、perl初心者です。 現在、windowsサーバーからlinuxサーバーに移行しようとしていますが、 widowsサーバーで動作していたphp、cgiが動作してくれません。 プログラムはDB接続情報以外は全く変更していないのですが、 http 500 内部サーバーエラーがでてしまいます。 ちなみにperl、php、MySQLのバージョンは以下となります。 perl : 5 php : 5.2.17 MySQL : 5.1.45 大変情報が少なく、申し訳ありませんが、 どのあたりに気をつけなければならないのかご教授していただけないでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数2
  • 閲覧数356
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • kmee
  • ベストアンサー率55% (1857/3366)

ええ。情報が少なすぎて、ろくなアドバイスもできません。 Windowsからの移行ということなので、以下のものが間違っていてエラーになっているのでは、という予想しかできません。 ・改行コード ・文字コード ・ファイルやディレクトリの権限(パーミッション):読み、書き、実行、ユーザー ・ファイルやディレクトリのパスの記述方法: ディレクトリの区切り文字 ・サーバーの設定

共感・感謝の気持ちを伝えよう!

質問者からのお礼

アドバイスありがとうございます! 上記の点を一つ一つ調査してみます。

関連するQ&A

  • Perl or PHP?

    最近はやり?の自宅サーバーを立てようかと思っているのですが、PerlかPHPどちらを使うか悩んでいます。 主に、掲示板やカウンター、できたらWikiのようなことをしたいと考えているのですが、PerlとPHPどちらを使ってプログラミングするべきでしょうか? それとも、どちらも使ったほうが、より効率的なプログラミングができるのでしょうか? PerlやPHPは個人的にですが、かじったことがあります。また、WebサーバーはApache、DBはMySQLでOSはFedoraCoreを予定しています。 Perlでも、PHPでも、CGIプログラムって作れますよね? どちらが利便性がよいのか、サーバーに負荷がかからないのか等、開発者側に立った意見をお待ちしています。

    • ベストアンサー
    • CGI
  • windowsからlinuxへ移行(perl)

    現在、windowsサーバーからlinuxサーバーへの移行準備をしております。 自社の方でショッピングサイトを経営しておりまして カートの部分はcgi(perl)で以下のような現象が起きています。 ■windowsでの正常な動き (1)購入ページから商品をカートに入れる(カートのページに遷移) (2)カートに入ったことを確認して買い物を続ける(購入ページへ戻る) (3)商品をカートに入れる(カートのページに遷移) (4)カートには2商品が入っている ■linuxでの動き (1)windowsと同様 (2)windowsと同様 (3)windowsと同様 (4)カートに1商品が入っている(前の商品の情報が消えている) windowsサーバーからlinuxサーバー移行時にで変更したのは以下の3点だけとなります。 (1)プログラムパス (2)DB接続情報 (3)パーミッションを755 動きだけをみるとセッション関連のところで何かやらなければいけない感じがしますが、 どこに手を付けてよいのかがわかりません。。。 プログラム修正が必要か? 必要なモジュールが足りないのか?(具体的なモジュール) その他、目を付けるところはあるのか? 大変申し訳ありませんが、 ご教授の方、宜しくお願い致します。

    • ベストアンサー
    • Perl
  • CGI-PerlとPHPの速さについて

    CGI-PerlとPHPの比較サイトを見てまわっていたところ、 「PHPは多くのアクセスがあっても(CGIに比べ)サーバへの負荷が少ない」 という内容を見かけました。 一般に「PHPはCGI-Perlより速い」と言われている気がしますが、 もしかしてそれは、アクセスが多数ある場合に限定した話なのだろうか、と疑問に思いました。 ローカルサーバなどで1人~数人しかアクセスしないという環境でも、 同じことが言えるのかどうか知りたいです。お願いします。

その他の回答 (1)

  • 回答No.2
  • bakaok
  • ベストアンサー率22% (33/148)

>プログラムはDB接続情報以外は全く変更していないのですが 変更をまったくしてないならそりゃPerlは動かないだろうね。 最初に書かれているPerlのパスの指定。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

Perlのパスはコマンド(which perl)でパスを調べて 変更して動きました。 ありがとうございます!!

関連するQ&A

  • Perlのバージョンに対応?非対応?CGIモジュール

    こんにちわ。 Perl初心者ですが、今度簡単なサーバー移行作業を お手伝いすることになり、ちょっとした疑問があります。 (単にCGIファイルやHTMLファイルを新サーバーにあげるだけ。) CGIモジュールというのを使ってプログラムをくんだ 場合、確かPerlのバージョンがモジュールに対応していないと動かなかったように思います。 ので、サーバー移行先で「CGIはパーミッションさえちゃんとしてくれれば動くから、CGIのチェックはしなくていい」といわれたので「CGIモジュールを使っている場合、Perlのバージョンが対応してないと動かないと思うんですけど大丈夫なんでしょうか?」と その仕事を提供してくれた人に聞いたところ 「PerlはOSに依存しないので問題ないです」とすっぱり言われました。 OSに依存しない?! ・・・意味がわかりません。 因みに移行先のサーバーのバージョンは 5.00503です。 これなら、どんなモジュールも対応しているのでしょうか?その担当の方にはもう聞きづらいかんじなので(私自身に知識がないこともあるので)教えていただきたいです。

    • ベストアンサー
    • Perl
  • PerlかPHP

    データベースと連携してホームページで動作する cgiプログラムを開発したいと思っているのですが、 PerlとPHPだとどちらの方が適しているのでしょうか?

    • ベストアンサー
    • CGI
  • CGIとPHPは違う!と言って聞かない人がいます

    現場でPHPやPerlを使っている方に質問です。 CGIとPHPはプログラム経験を積んだ人にしか分からないような違いがあるのでしょうか? 今の職場でPHPとCGI/Perlは違うものだと言っている人がいます。 CGIはウェブサーバ上でユーザプログラムを動作させるための仕組だと解釈していたため、その人と意見が対立しました。

    • ベストアンサー
    • CGI
  • Apacheでphpとcgiを使いたいのですが

    phpは問題なく使えましたが、cgiで問題があります。 今まではサーバーソフトにANHTTPDを使っていたのですが、phpを使う上で問題があったので汎用性のあるApacheに乗り換えました。するとphpはうまく動いた反面、cgiがうまく動作しなくなってしまいました。 ANHTTPDのときは、ローカルホスト以下のフォルダならどこであろうとcgiを含むすべてのファイルが使用できましたが、Apacheでは指定したフォルダ以下にcgiしか置けないみたいでした。そのフォルダ内にhtmlファイルなどを置くとアクセスできません。 この状態で使うとなると、cgiファイルだけその1箇所のフォルダ以下に集め、他のファイルを別のディレクトリに置かなくてはいけませんが、それでは1つのプログラムに必要なファイル類がバラけてしまうのでその方法は使いたくありません。 どうにかして1つのフォルダ以下でcgiとその他のファイルを扱えるように出来ませんでしょうか?また、僕が使っている今の方法では、cgiプログラムの1行目のパスを「C:/Perl/bin/perl」にしなくてはいけませんが、これもWebサーバー上にアップする際に書き換える手間がかかってしまいます。ANHTTPDの時は「/usr/bin/perl」「/usr/local/bin/perl」のような状態でも普通に使えました。この書き換えの手間を省く方法もありましたら情報いただければと思います。 以上です。 よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • yomi php版を別のサーバーに移行すると文字化けする

    こんにちは。 YomiサーチのPHP版を利用していて、 別のサーバーにデーターごと移動しようとしているのですが、 文字化けに悩まされています。 移行前 http://dir.rentub.com/db.php/dir_1_01/ 移行予定先 http://dir2.rentub.com/db.php/dir_1_01/ なぜか、タイトル部分や、カテゴリ名の日本語の部分だけが文字化けしてしまいます。 一度、データーベースのバックアップを取り、 そのバックアップしたファイルを別のサーバーでそのまま復元させるという方法を取りました。 2つのサーバーの phpとMySQLのバージョンが違うのですが、 もしかするとこれが影響しているのでしょうか? 移行前のサーバー php 4.4.4 MySQL 4.0.27 移行予定のサーバー php 5.2.5 MySQL 5.1.22 アドバイスを頂ければと思います。 それでは宜しくお願いいたします。

    • 締切済み
    • CGI
  • IISでCGIとしてのPerlが動かない

    Win2K ProにてIISでローカルサーバーでサーバーサイドスクリプトの勉強中です。 ASPは標準でついているので、PerlとPHPを組み込みました。 PHPは内部プロセス型ではなく、CGIバージョンですが、正常動作しました。 もちろんASPも。 それで問題なのですが、Perlがどうしても動きません。 PHPと同じように実行ファイルのパスや拡張子の設定はできているはずです。 しかし、いつまでたっても出力が出ず、2分くらいたってCGIタイムアウトとなってしまいます。 PerlにはActive PerlとCygwin付属のPerl両方試しましたが、タイムアウトです。 ファイルをコンソール上で実行してみましたが、Active PerlもCygwinのPerlも、期待通りの出力がなされています。 ちなみに、shファイルをCygwinのbashに関連付けて、実行させましたが、コンソール上での出力とはうらはらに、ブラウザ上ではやはりタイムアウトとなりました。 PerlのソースはいずれもほかのところのApacheでは動いているものです。 httpヘッダも正常です。 ソースの文字コードは英語のみ、EUC、改行コードcr+lf、lfのみなど、いろいろ試しましたがダメでした。 なにが原因なのでしょう。 IISを使っている方、アドバイスお願いします。

  • CGI版PHPについて

    一般的なPerlのCGIが実行可能な状態のApache(Linux上)にCGI版のPHPを追加インストールした場合、ApacheはスクリプトがPerlであるかPHPであるかの違いをどう認識するのでしょうか? 方法1 スクリプトはどちらも*.cgiとして作成し、スクリプト内先頭行のperlやphpへのパスの記述で認識する 方法2 perl→*.cgi php→*.php のようにhttpd.confや.htaccessで設定する 初心者のためこの二つくらいしか思い浮かばないのですが、どちらかが正解だったりしますか??

    • ベストアンサー
    • PHP
  • LInuxとWindowsでのPerlの動作の違い

    LinuxでCGI(Perl)プログラムを作っています。 いつも動きの確認は自分のPC(Linux)と友人のPC(LInux)で行なっていました。 そして、昨夜別の友人のPC(Windows XP)を使う機会があってついでにそのPC上でプログラムを動かしてみたら一部が正確に動作してくれませんでした。でも、その後自分のPCで実行すると正確に動作してました。 WindowsとLinuxで動作に差がでるものなのでしょうか?

    • ベストアンサー
    • Perl
  • phpとperlでメールフォーム+DB登録機能

    phpとperlでメールフォーム+DB登録機能を作っていますが、 だいぶ煮詰まってしまいました。 ●設計概要 https://dl.dropbox.com/u/85274673/form.jpg ●参考にしたが解決しなかったURLの一部掲載 http://okwave.jp/qa/q3086758.html http://ml.php.gr.jp/pipermail/php-users/2003-October/019138.html ●使用しているsend.cgi(配布フリー) http://www.synck.com/contents/download/cgi-perl/mailformpro.html ●状況 cgi(perl)もしくはphpだけでdb登録+メール送信両方行うプログラムが 必要となりました。 php単体でdb登録+mb_send_mailをスクラッチで書いてうまくいったと思ったのですが、 ユーザー側に送るメール内容(本文)と管理者側に送るメール内容(本文)を 分けることができず、現状使っているsend.cgiでメール送信し、phpでDBに登録 はできないかと思い、調べながらやってみました。 (cgi(perl)はphp以上に完全素人なので、dbへの登録を行うプログラムが書けませんでした。) form.html→db.php→thanks.html from.html→send.cgi→thanks.html は問題なく動作しました。 設計の通り 1. form.html→db.php→send.cgi→thanks.html もしくは 2. from.html→send.cgi→db.php→→thanks.html を実現したいと思っています。 $_POSTの値さえ渡せれば 1.は実現できそうなのですが、話はそう単純ではないのでしょうか。 ヒントでも貰えれば幸いです。宜しくお願いいたします。

    • ベストアンサー
    • Perl
  • .htaccessの中身が php5 CGI版で動かない

    拡張子htmlファイルをphpファイルと認識させる為に、 .htaccessで AddType application/x-httpd-php .html AddHandler x-httpd-php .html と書いて対応していました。 今まではサーバーのphpのバージョンがPHP4(DSO版)だったのですが、昨日サーバーのバージョンがPHP5(CGI版)になってから、上記のような.htaccessが機能しなくなってしまいました。 order deny,allow deny from all ↑ これはちゃんと動くので、.htaccess自体が拒否されてるみたいなことはないと思います。 AddType application/x-httpd-php .html AddHandler x-httpd-php .html ↑ このプログラムがPHP5 CGI版にて意図した動作とならないのです。 何か分かる方いらっしゃいましたら、宜しくお願い致します。

    • ベストアンサー
    • PHP