あらゆるヒントと回答を試しましたが、適切な解決策が見つからないようです。
私のcURLは次のとおりです
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $curlIP."api/sparts/search/");
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, "key=".$q."&page=".$pg);
curl_setopt($curl, CURLOPT_FAILONERROR, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($curl);
curl_close ($curl);
これは何をしますか?
$q
は検索キー$pg
、ページ番号はサーバーから製品データを取得します
サーバーが常にインターネットに接続されていると仮定すると、この cURL は意図したとおりに機能します。開発者として、cURL がサーバーに接続できないときはいつでもエラー メッセージを表示する必要がありました。
何が問題ですか?
実際にエラー メッセージを設定するには、まずエラーが発生したかどうかを知る必要があります。これは私にとって奇妙になります。サーバーのインターネットアダプターを無効にして、接続障害をシミュレートしようとしました。
結果は次のとおりです。
$data = curl_exec($curl);
これには、フッターとその行の後のすべてが含まれます。エコーを前後に入れようとしたのでcurl_exec
、それは本当にそこで止まりました。したがって、エラー自体をキャッチできません。
私は何を試しましたか?
私は試した
- PHP
curl_error()
- スクリプトがcurl_exec
- PHP
curl_errno()
- 同じ - 試してキャッチ - これはエラーをキャッチする必要がありますが、そうではなかったので、さらにイライラしました。