0

あらゆるヒントと回答を試しましたが、適切な解決策が見つからないようです。

私の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()- 同じ
  • 試してキャッチ - これはエラーをキャッチする必要がありますが、そうではなかったので、さらにイライラしました。
4

0 に答える 0