2

PDO経由でmysqlを使用するXamppでローカルに実行されているwebappがあります。

ページでこの警告が表示されることがあります。

 Warning: PDO::__construct(): MySQL server has gone away in C:\xampp\htdocs\myapp\functions\classes.php on line 101

スクリプトの実行後は常に pdo オブジェクトの設定を解除し、別のページで新しいオブジェクトをインスタンス化します。実際のスクリプトは常に正常に動作しているように見えますが、エラーが表示されると非常に厄介です。通常、ページを更新すると、ページが少し消えます。

pdo オブジェクトが適切に削除されていない (つまり、オブジェクトが設定解除された後も接続が維持されている) ためだと思います。その後、別の pdo オブジェクトを使用しようとすると、最終的にタイムアウトになり、エラーが発生します。

これを修正する/使用後に pdo オブジェクトを設定解除する最良の方法は何ですか?

4

1 に答える 1

9

PDO::ATTR_PERSISTENT が false であることを確認してください

これを解決する最善の方法は、おそらく PDOException をキャッチして再接続することです。

于 2013-08-20T12:43:01.647 に答える