- - PR -
PDO でSQLエラー時に Apache が不正終了する
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2008-04-30 17:06
PDO (php_pdo_oci.dll) を使って Oracle 10g に接続するアプリケーションを開発しています。
持続的な接続を使用するために、PDO のコンストラクタの引数で PDO::ATTR_PERSISTENT に true を指定しています。 正常動作時は問題ないのですが、SQLの実行でエラーになった場合に、 Apache が不正終了してしまいます。 以下、再現コードです。
実行すると、「問題が発生したため、Apache HTTP Server を終了します…」のダイアログが表示されます。 Windows のイベントログに、以下の内容が出力されます。
上記のコードは正しくないSQL(あいうえお)が実行されるので、 failure と表示されることを期待していますが、実際には上記エラーとなります。 この「あいうえお」を正しいSQLに直した場合は正常終了して「success」が表示されます。 また、PDO::ATTR_PERSISTENT => true を false に変更した場合は、 正常終了して、期待通り「failure」が表示されます。 このことから、持続的な接続が原因の1つであることには間違いないと思うのですが、 パフォーマンスの観点から、できれば持続的な接続を使用したいと考えています。 原因、対処のわかる方いらっしゃいましたら教えてください。 よろしくお願いします。 ■環境 [WEBサーバ] OS:Windows XP Professional サーバ:Apache 2.2.8 PHP 5.2.5 Oracle 10g Client [DBサーバ] OS:Windows XP Professional Oracle 10g (10.2.0.1.0) |
1