2016-09-26 14 views
0

php pcntl_forkを使用して子プロセスでmysqlトランザクションを開始すると問題が発生します。あるエラーメッセージ:誰かここに、この問題で苦労されている場合はphp forkでmysqlトランザクションを開始できません

PDO::beginTransaction(): send of 22 bytes failed with errno=32 Broken pipe 

pcntl_fork

と子プロセスでトランザクションを開始する方法はあなたに

答えて

0

に感謝の修正です:

を変更してみてください/ mysql my.cnf設定ファイルでwait_timeoutを設定する:

wait_timeout=3600 

この設定ファイルは、/etc/mysql/my.cnf(Ubuntu/Debian)と/usr/local/mysql/my.cnf(OSX)にあります。

mysqlサーバを再起動するとうまくいくはずです。

+0

Bhavin Solanki:返信いただきありがとうございます。エラーメッセージは表示されず、他のエラーが表示されるようになりました。これは新しいエラーです: PDO :: query():MySQLサーバーが廃止されました PDO :: query():結果セットのヘッダーを読み取る際にエラーが発生しました – user970559

+0

これは、処理中にPHPスクリプトが処理に時間がかかり、サーバーへの接続がタイムアウトしました。 1)接続がまだ有効であることを確認し、必要に応じて再接続します(mysql_connectには組み込み機能があります)。 2)mysql_pconnectを使用します。あなたのために終了しないため、終了) 3)タイムアウトを避けるためにあなたのスクリプトの実行時間を改善する。 –

関連する問題