2016-02-05 50 views
2

我正在开发一个项目,我有一台服务器。服务器连接到Amazon-Cognito以获取标识ID和标记。这里是我的PHP代码。当添加AWS标头时,PHP echo不起作用

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.like这

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 
+0

检查连接错误 –

+0

我试图做卷曲“IP地址”,它仍然显示正常。正如我所说的,当我从命令行运行它时,它正在工作。 – sandesh

回答

0

这样不是真正的输出,这将是没有什么。

echo $token = $result['Token']; 
0
echo $token = !empty($result['Token']) ? $result['Token'] : "Token is empty"; 
1

通过使用代码

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

你只是呼应分配的$值造成[ '令牌']到$标记的布尔结果。它也像你应该引用“TokenDuration”

你需要这样做

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