使用OAuth的Lumen API,Guzzle get / post方法

时间:2015-06-29 14:08:11

标签: php laravel oauth guzzle lumen

我正在使用OAuth2身份验证构建流明API,我遵循了本教程:http://esbenp.github.io/2015/05/26/lumen-web-api-oauth-2-authentication/但我收到了错误消息:  "Fatal error: Maximum execution time of 60 seconds exceeded in C:\Users\user\Desktop\api\lumen\vendor\guzzlehttp\guzzle\src\Handler\CurlMultiHandler.php on line 99"
Guzzle的帖子方法(以及获取方法)对我不起作用

$app->get('api', function() use ($app) {
$client   = new \GuzzleHttp\Client();
$response = $client->get('localhost:8000/api/hello');
return $response;
});

$app->get('api/hello', function() use ($app) {
return "Hello";
});

给我同样的错误

1 个答案:

答案 0 :(得分:4)

我解决了我的问题:

从我的API到我的API的POST和GET请求不起作用,因为我正在使用

php artisan serve

所以来自localhost:8000 / api / hello的localhost:8000 / api的请求不起作用,但来自http://www.google.com/的localhost:8000 / api的GET请求。
示例:

$app->get('api', function() use ($app) {
$client   = new \GuzzleHttp\Client();
$response = $client->get('http://www.google.com/');
return $response;
});


我必须直接在www /文件夹中的localhost上部署我的Lumen API(在Windows上的C:\ wamp \ www或在linux上的/ var / www / html /上)

$app->get('api', function() use ($app) {
$client   = new \GuzzleHttp\Client();
$response = $client->get('localhost/api/hello');
return $response;
});

$app->get('api/hello', function() use ($app) {
return "Hello";
});

现在它有效。

对于那些不知道如何在localhost(或您的服务器)上部署Lumen API的人:
我的Lumen项目位于C:\ wamp \ www \ api 在项目根目录中创建.htaccess,使其路径为C:\ wamp \ www \ api \ .htaccess 与

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ public/index.php [L]
</IfModule>

通过C:\ wamp \ www \ api \ index.php重命名C:\ wamp \ www \ api \ server.php
在您的C:\ wamp \ www \ api \ public \ index.php中 变化

$app->run();

$request = Illuminate\Http\Request::capture();
$app->run($request);

不要忘记激活mod_rewrite!