1

php と php のみを sphinx デーモンに接続するときに問題が発生しました。サンプル sphinx php example test.php をテストし、接続の問題に絞り込みました。

問題を示す次のコードがあります。

<?php
$fp = @fsockopen ( '127.0.0.1', '9312', $errno, $errstr,300 );
if(!$fp) {
  echo "$errstr ($errno)";
}
?>

コマンドラインまたはブラウザから実行するたびに、次のエラーが発生します。

Connection refused (111)

以下のことを確認しました。

  1. searchd は実際に実行されており、ポート 9312 で実行されています
  2. searchd は telnet を使用して接続できます
  3. searchd は、sphinx API で test.py を使用して接続できます
  4. php はポート 80 に接続できます

これは、私のローカル テスト マシンで正常に動作するため、問題と思われる Westhost VPS で実行されています。問題なくインデックスに対して検索を実行するためにPythonを使用していた既存のコードがあるので、これは私を本当に困惑させます。

いくつかの追加情報、

PHP 5.2.5 スフィンクス 0.9.9 リリース

この問題をさらに診断して修正する方法を知っている人はいますか?

4

1 に答える 1

0

多分あなたは使うことができますcmd: netstat -an

Sphinx Server が実行されているものを確認するには、関数ip:portでその IP とポートを使用します。fsocketopen()

于 2015-04-23T01:52:47.850 に答える