2

PHP.netのマニュアルによると、pg_pconnectは永続的な接続を作成するか、同じ接続文字列で既存の接続がすでに存在する場合は既存の接続を返します。

私が抱えている問題は、その呼び出しが実際に接続を作成するのか、それとも実際に同じものを返すのかを知りたいことです。たとえば、それが最初の接続である場合に備えて、プリペアドステートメントをロードします。

それは実際に可能ですか?

更新:この質問では、現在実行中のPHPスクリプトについて言及していません。接続がいつか(おそらく他のスクリプトによって)開かれたのか、このスクリプトがその接続を最初に開いたのか(たとえば、PostgreSQLサーバーをリセットしたため)を知りたいです。

4

1 に答える 1

1

マニュアルを確認してください。解決策は、その説明自体に記載されています。持続的接続を有効にしている場合は、既存の接続を返します。これはデフォルトで有効になっています。私の経験では問題はありませんでした。これがお役に立てば幸いです。pg_pconnect()のphp.netマニュアル

回答の更新:通常、postgresはその接続に対して非常に所有格があることを追加する必要があります。サービスをリセットしても接続を維持しようとします。したがって、「既存の接続をチェックする」というこのイベントを使用しないことをお勧めします。これは、新しい接続が返されたイベントを検出するメカニズムを見つけた場合でも、指で数えることができるためです。非常にまれです。

私はあなたがあなたの論理を変えるべきだと思います。

于 2012-06-12T05:57:00.460 に答える