fmRESTor でのリクエストエラー解決策
FileMakerのREST APIライブラリ「fmRESTor」を使用する際の、リクエストエラーを防ぐための重要な設定について解説します。
問題: fmRESTor のリクエストが失敗する
fmRESTor を使用して FileMaker Data API にリクエストを送信する際、「リクエストがタイムアウトする」「レスポンスが正しく返ってこない」といった問題が発生することがあります。
これは、fmRESTor がデフォルトで HTTP/2 を使用しようとするため、一部の環境では FileMaker Server との通信がうまくいかないことが原因です。
解決策: HTTP/1.1 を強制設定する
fmRESTor のリクエスト設定に **「HTTP/1.1 を強制する設定」** を追加すると、これらの問題を解決できる場合があります。
具体的には、`curl_setopt` のオプションに `CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1` を追加します。
① 設定を修正する
以下のように、fmRESTor のリクエスト設定部分に HTTP/1.1 の強制設定を追加します。
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
/* — HTTP/1.1 を強制設定 — */
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
/* — Set request URL — */
curl_setopt($ch, CURLOPT_URL, “https://” . $this->host . $url);
② 変更後の効果
- ✔ HTTP/1.1 を使用することで、FileMaker Server との通信が安定
- ✔ リクエストのタイムアウトやレスポンスエラーの発生を防止
- ✔ fmRESTor をよりスムーズに活用できる
fmRESTor に乗り換えた人は、この **「HTTP/1.1 を強制設定」** を追加することで、リクエストエラーの発生を減らせる可能性があります。
まとめ
fmRESTor での FileMaker Data API へのリクエストがうまくいかない場合は、以下の対策を試してみてください。
- 🔹 `CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1` を設定する
- 🔹 FileMaker Server との通信方式を安定させる
- 🔹 タイムアウトやエラーを防ぎ、スムーズなAPI通信を実現
この設定により、fmRESTor の導入・運用がより快適になります。