1

テストを行っているときに、ローカル マシンで問題が発生しました。PHP コードがアクセスしようとしている memcached サーバーのプールがあります。つまり、これらはプライベート IP であるため、ローカル ボックスのコードはそれらにアクセスできません。

私が抱えている問題は、 getDelayed() 呼び出しがローカルで接続を待って 8 秒間ハングすることです。タイムアウト期間を調整する場所はありますか?

戻る前に接続を待つ必要があるのはなぜですか? 私の理解では、 getDelayed() は非同期呼び出しであるはずでしたが、タイムアウトするまで制御は関数から返されません。

4

1 に答える 1

0

この投稿を回答済みとしてマークできるように、上からコメントを再投稿します。

変更する必要のあるオプションが見つかりました。OPT_CONNECT_TIMEOUTでしたが、10に変更しましたが、実際に使用するには低すぎるかどうかを確認するために、プライベートネットワークでテストを行う必要があります。しかし、それは私の開発ボックスの問題を修正しました。

self::$memcache->setOption(Memcached::OPT_CONNECT_TIMEOUT, 10);

于 2012-06-18T04:49:30.537 に答える