2

mossを実行してソース コード ファイルの類似点を確認できる Web ページを作成しようとしています。
そのために、私はphp経由でファイルをアップロードし、phpで「exec」を使用してそれらのファイルを引数としてmossスクリプトを呼び出し、出力を別のテキストファイルにダンプしています。コードは正常に動作することもありますが、ファイルのアップロード後に停止することもあります。
以下は、スクリプトのスニペットです

$server = 'moss.stanford.edu';
$port = '7690';
.
.    
$sock = new IO::Socket::INET (
                                  PeerAddr => $server,
                                  PeerPort => $port,
                                  Proto => 'tcp',
                                 );
die "Could not connect to server $server: $!\n" unless $sock;
$sock->autoflush(1);
.
.

接続を作成できず、このスニペットの 4 行目以降に進みません - ' die "Could not connect to server $server: $!\n" not $sock; '

これは常に発生するわけではありませんが、正常に機能する場合とそうでない場合があります。
しかし、ssh経由でWebホスト(ところでゴッドダディ)にログインし、同じ引数を使用してターミナルでスクリプトを実行すると、常に機能します!

誰かがこれについて私を助けてくれますか?

4

2 に答える 2

2

別のマシンでは問題なく動作するため、問題はおそらくネットワークか、Perl インストールの詳細、またはブラウザと PHP の相互作用に関連するものにあると思われます。最も簡単に確認できるのは、ネットワークかどうかです。

Perl 以外でネットワークの問題を再現できるかどうかを確認してください。おそらくtelnet moss.stanford.edu 7690何度も。これにより、問題が Perl にあるのか、それともネットワーク接続が不安定なだけなのかを判断できます。

また、実行したままにping moss.standford.eduして、ブラウザで問題を再現しようとします。問題が発生すると同時に ping がドロップアウトする場合は、ネットワークの問題です。

于 2012-11-02T19:58:26.733 に答える