2016-08-17 16 views
1

に消えて、私は、この擬似コード持って http://lornajane.net/posts/2011/dealing-with-mysql-gone-away-in-zend-frameworkは、Zend Frameworkの1

次のようになります。

SQLSTATE[HY000]: General error: 2006 MySQL server has gone away 

を私はこれが発見この解決策?

... some long things ... 

$order->value = "something"; 
$order->getTable()->getAdapter()->getConnection(); 
$order->save(); 

これを行う必要がありますか?

... some long things ... 

$order->value = "something"; 
$db = Zend_Registry::get('db'); 
$db->getConnection(); 
$order->save(); 

他に何か?

+0

これらのソリューションのどちらを使用しても問題ありませんか? –

答えて

0

「MySQL Serverがなくなった」とは、通常、データベースへの接続がタイムアウトしたことを意味します。これは通常、データベースのやりとりがなくても数分かかる可能性のある長時間実行されるスクリプトで確認できます。

お勧めの2つのソリューションは基本的に同じです。どちらもDB接続を再フェッチします。必要に応じてZend DBに再接続が含まれます。だからどちらも問題を解決するはずです。