Appsync 的 graphql 订阅不适用于 PHP5

任何人都可以帮我提供一个使用 php5 和 AWS Appsync 或与 Appsync 一起使用的 php5 WebSocket 客户端的 graphql 订阅的工作示例吗?我正在尝试短信但没有取得任何成功。

<?php

require(dirname(dirname(__FILE__)) . '/graphql/vendor/autoload.php');


use WebSocket\Client;


$query = <<<'GRAPHQL'

subscription onCreateProfile{

  onCreateBatch {

    hotelId

    batchId

    profiles {

      id

    }

  }

}

GRAPHQL;


$appSyncURL = 'wss://pbnblnr7xxxxxxxxxxxx.appsync-realtime-api.ap-south-1.amazonaws.com/graphql';

$context = stream_context_create();

stream_context_set_option($context, 'ssl', 'verify_peer', false);

stream_context_set_option($context, 'ssl', 'verify_peer_name', false);

$client = new WebSocket\Client($appSyncURL, [

    'timeout' => 60, // 1 minute time out

    'context' => $context,

    'headers' => [

        'x-api-key' => 'APIKEY',

    ],

]);

$client->send($query);

echo $client->receive();

$client->close();

那么有人尝试过使用 php5 进行 graphQL 订阅吗?我的要求是在 PHP 应用程序(后端)中使用 Graphql 订阅。我知道 graphQL 订阅可以通过 javascript WebSocket 客户端在前端正常工作。但我必须在 PHP5 应用程序中使用 graphql 订阅。



繁花不似锦
浏览 108回答 0
0回答

慕丝7291255

我已经弄清楚了,现在它可以在 >= PHP 5.6 上正常工作。这是相同的工作示例,以防有人需要。https://github.com/roshanlabh/php-appsync-consumer-example/blob/master/appsync-subscription.php
打开App,查看更多内容
随时随地看视频慕课网APP