前提・実現したいこと
現在PHPでウェブアプリを作成中です。
Postgresqlへ接続するコードにて例外処理を実装中にエラーが捕捉できない(落ちる/コードが停止する)状況になりました。
何か解決の糸口が御座いましたらご助言頂けますと幸いです。
よろしくお願い致します。
発生している問題・エラーメッセージ
pg_connectで接続を確立する際に、接続文字列が間違えているとエラーになります。
ネットの情報を見ると「pg_last_error() でエラー内容を判断せよ」とありますが、
実際にはpg_connect() を呼び出した時点でPHPが落ちます。
ブラウザには下記の表示がされます。apacheのログにはエラー情報は出力されません。phpのエラーログは出力されません。
このサイトにアクセスできません 接続がリセットされました。
該当のソースコード
php
1 $conn = "host=dbsv01 dbname=postgres user=postgres password=abcdefg"; // ①この接続文字列が間違えている時 2 $link = pg_connect($conn); // ②pg_connectを呼び出すと落ちて 3 if (!$link) { // ③このステップは流れない 4 echo pg_last_error(); 5 }
試したこと
・デバッグ実行で1ステップずつ確認して③は流れず②で落ちていることを確認
・ネットでエラーハンドリングやphp,apache設定などを調査するも有効な答えが見つけられず。
・落ちるのはpg_connectのみならずpg_queryなどpostgresql呼び出し関連は全て同じ現象。
補足情報(FW/ツールのバージョンなど)
Apache/2.4.23 (Win64) PHP/7.1.18
Postgresql 9.3 (開発サーバーにインストール)
回答1件
あなたの回答
tips
プレビュー