Php Slim框架的身份验证不起作用

Php Slim框架的身份验证不起作用,php,slim,Php,Slim,我正在使用Slim框架创建restful api 我可以创建一个get api,但当我向get请求添加身份验证时,它会抛出一个错误(高级Rest客户端google chrome扩展),错误如下: Slim Application Errorbody{margin:0;padding:30px;font:12px/1.5 Helvetica,Arial,Verdana,sans serif;}h1{margin:0;字体大小:48px;字体重量:正常;行高:48px;}strong{display

我正在使用Slim框架创建restful api

我可以创建一个get api,但当我向get请求添加身份验证时,它会抛出一个错误(高级Rest客户端google chrome扩展),错误如下:

Slim Application Errorbody{margin:0;padding:30px;font:12px/1.5 Helvetica,Arial,Verdana,sans serif;}h1{margin:0;字体大小:48px;字体重量:正常;行高:48px;}strong{display:内联块;宽度:65px;}Slim应用程序错误由于以下错误,应用程序无法运行:

详细信息类型:错误异常代码:8消息:未定义变量:apiKey文件:/Library/WebServer/Documents/pascal\u api/rest\u api/v1/index.php行:34Trace\0/Library/WebServer/Documents/pascal_-api/rest_-api/v1/index.php(34):Slim\Slim::handleErrors(8,'未定义变量…','/Library/WebSer…',34,数组) #1[内部功能]:身份验证(对象(Slim\Route)) #2/Library/WebServer/Documents/pascal\u api/rest\u api/libs/Slim/Route.php(433):调用用户函数数组('authenticate',数组) #3/Library/WebServer/Documents/pascal_api/rest_api/libs/Slim/Slim.php(1307):Slim\Route->dispatch() #4/Library/WebServer/Documents/pascal_api/rest_api/libs/Slim/Middleware/Flash.php(85):Slim\Slim->call() #5/Library/WebServer/Documents/pascal_api/rest_api/libs/Slim/Middleware/MethodOverride.php(92):Slim\Middleware\Flash->call() #6/Library/WebServer/Documents/pascal_api/rest_api/libs/Slim/Middleware/PrettyExceptions.php(67):Slim\Middleware\MethodOverride->call() #7/Library/WebServer/Documents/pascal_-api/rest_-api/libs/Slim/Slim.php(1254):Slim\Middleware\PrettyExceptions->call() #8/Library/WebServer/Documents/pascal\u api/rest\u api/v1/index.php(100):Slim\Slim->run() #9{main}
这是我的密码:


知道是什么导致了这个错误吗??
谢谢

请在$headers上运行print\r命令,看看你从中得到了什么。我认为密钥没有被设置,或者根本没有进入代码

好的,那么在第28行之前这样做:

           $api_key = $headers['Authorization'];
           echo $apiKey;
试试这个,让我知道

这就是错误:

           echo $api_key;
但是echo打印了错误的变量,应该是


除了前面的错误之外,我还得到了以下输出:
Array([Host]=>localhost[Connection]=>keep-alive[User-Agent]=>Mozilla/5.0(Macintosh;Intel Mac OS X 10_10_2)AppleWebKit/537.36(KHTML,比如Gecko)Chrome/42.0.2311.90 Safari/537.36[授权]=>b2c58c89674ffa83ba9bc6b0cc5bbeda[接受]=>[DNT]=>1[Accept Encoding]=>gzip,deflate,sdch[Accept Language]=>en-US,en;q=0.8)
no。它仍然显示相同的错误。我认为错误出现在
if(isset($headers['Authorization')){
line,因为在此之后没有中断语句工作。找到错误,您指出的是真的,但这不是导致错误的原因…这是
if($isValidApiKey($api_key)==false)
isValidApiKey()是一个函数,这是一个愚蠢的错误。无论如何,谢谢你的帮助。嘿,很高兴我能帮助你。但我是从斯利姆抛出的错误的角度来看的。
           echo $api_key;