Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
添加AWS标头时,PHP echo不起作用_Php_Amazon Web Services_Amazon Cognito - Fatal编程技术网

添加AWS标头时,PHP echo不起作用

添加AWS标头时,PHP echo不起作用,php,amazon-web-services,amazon-cognito,Php,Amazon Web Services,Amazon Cognito,我正在做一个有服务器的项目。服务器连接到AmazonCognito以获取标识Id和令牌。这是我的PHP代码 TEST.PHP: include 'aws.phar'; //require 'vendor/autoload.php'; use Aws\CognitoIdentity\CognitoIdentityClient; use Aws\Sts\StsClient; use Aws\Credentials\Credentials; use Aws\S3\S3Client; echo "O

我正在做一个有服务器的项目。服务器连接到AmazonCognito以获取标识Id和令牌。这是我的PHP代码

TEST.PHP:

include 'aws.phar';

//require 'vendor/autoload.php';
use Aws\CognitoIdentity\CognitoIdentityClient;
use Aws\Sts\StsClient;
use Aws\Credentials\Credentials;
use Aws\S3\S3Client;

echo "OK";

$Client = CognitoIdentityClient::factory(array(
  'version' => 'latest',
  'profile' => 'project1',
  'region'  => 'ap-northeast-1'
));

$result = $Client->getOpenIdTokenForDeveloperIdentity(array(
  'IdentityPoolId' => 'xxxxxxxxxxxx',

  'Logins' => array(
    'login.blupinch.app' => 'sandesh-004',
  ),
  'TokenDuration' => 3600,
));

echo $token = $result['Token'];
//echo null;
当我打开浏览器并键入服务器的url时,我只能看到“OK”,但看不到
$token
的值。有趣的是,如果从命令行执行此操作,我可以看到“OK”和
$token
值:

php test.php 
为什么会这样? 为什么我看不到
$token
的值

更新: 当我运行“php test.php”时。我能看到token的回声,像这样

ubuntu@ip-172-31-30-222:/var/www/html$php test.php

   OKeyJraWQiOiJhcC1ub3J0aGVhc3QtMTEiLCJ0eXAiOiJKV1MiLCJhbGciOiJSUzUxMiJ9.eyJzdWIiOiJhcC1ub3J0aGVhc3QtMToxMmJiZTJjOS0zMDZkLTRmY2ItOGY4Mi0yZmNlNjc3NmE1NjQiLCJhdWQiOiJhcC1ub3J0aGVhc3QtMTphODcxZmE1Zi0yM2EyLTQ4MGQtYmFhNi1iNGVkMzE0MzcyNDQiLCJhbXIiOlsiYXV0aGVudGljYXRlZCIsImxvZ2luLmJsdXBpbmNoLmFwcCIsImxvZ2luLmJsdXBpbmNoLmFwcDphcC1ub3J0aGVhc3QtMTphODcxZmE1Zi0yM2EyLTQ4MGQtYmFhNi1iNGVkMzE0MzcyNDQ6c2FuZGVzaC0wMDQiXSwiaXNzIjoiaHR0cHM6Ly9jb2duaXRvLWlkZW50aXR5LmFtYXpvbmF3cy5jb20iLCJleHAiOjE0NTQ2ODczMzcsImlhdCI6MTQ1NDY4MzczN30.BSTYTw8bk27vuqHaElIjC1KdncJpQHQXpqJr3--eKGOIi1vq8rpTGuljm2XjNInCXvjjMTLxaG8ZN-gUHYdZGcvK6Bm9ts1Y_BPfOflVKjRU3rxemmY24gOQeb1xI0No6nvyhJW6MpkoOF2fGWmr79mL0J0PnepOQ4HxG_HJ6yGdrvRypFjDM7g7kLXvETeEYrJeDdvnYuoeh1sqRn7RkA9eea_5pq8Sbgk5bXhF1RUhLF_6pi-YMIu52-lLFZdbA0LxGTWrIKvZY-KhsKSBLt_A5ek52pXQSPJUcBFOVWgajVqpdBB7i-ls1IjLth0baLtCXgk1qsq52kDKWqvR6g

这将不会输出true,这将是零

echo $token = $result['Token'];
通过使用代码

echo $token = $result['Token'];
您只是将$result['Token']的值赋值给$Token的布尔结果回显。看起来您还应该引用“TokenDuration”

你需要这样做

$token = $result['TokenDuration'];
echo $token;

检查是否存在连接错误我尝试执行卷曲“ip地址”,但仍显示正常。正如我所说,当我从命令行运行它时,它正在工作。
$token = $result['TokenDuration'];
echo $token;