リクエスト間の特定の状態情報に依存する API があります。コードの簡単な最初のバージョンとして、より高度なもの (APC、memcache、DB) の代わりに、単純に PHP セッションを使用して状態情報を保存しています。Web ブラウザーでの最初のテストでは、すべてが完全に機能しました。ただし、クライアントが Curl や wget などのブラウザ以外の方法で接続しようとすると、状態情報が保持されていないようです。
ブラウザがページをリクエストしている場合にのみ、PHP セッションが作成されますか? session_start() を使用してセッションを明示的に開始し、session_name() を使用して事前に名前を付けています。
追記. 私が抱えていた主な問題の 1 つは、session_id($id); を介してセッション ID を設定するのではなく、セッションに名前を付けていたことであることがわかりました。session_name() を使用する意図は、以前に作成されたものと同じセッションを取得することでした。これを行う正しい方法は、session_name ではなく session_id を設定することです。
以下に示すように、セッション情報はサーバー上に永続化されるようです (THANK YOU)。ただし、これを維持するには、セッション ID、または私の場合のように、ユーザーを一意に識別する他の ID を渡す必要があります。この ID を session_id として使用すると、セッションが期待どおりに機能します。