我正在设置一个OAuth2回调,而Laravel似乎正在剥离通过URL传递的任何参数(也称为GET)。其中包括Input::get()
,Input::all()
,以及常规PHP $_GET
甚至$_SERVER['QUERY_STRING']
。
我最初的反应是Nginx配置错误。但是我能够在我的laravel / public目录中设置一个测试PHP文件,它只是:
<?php var_dump($_GET)
点击/test.php?code=123456ABCD
会生成单个值数组的预期转储。
然后,在Laravel路线中,我创建了
Route::get('/testcallback', function(){
var_dump(Input::all());
});
点击/testcallback?code=123456ABCD
会生成转储空数组。
我的配置或路由中是否存在可能导致Laravel剥离GET参数的内容?
感谢。
答案 0 :(得分:2)
毕竟这最终成了Nginx。结果显示我的站点之间的符号链接 - 可用站点和已启用站点的主机已损坏,并且查询问题的解决方案(详细记录)没有流过。
try_files $uri $uri/ /index.php?$query_string;
只需删除已启用网站的网站并重新链接,然后重新启动Nginx即可解决此问题。
sudo rm /etc/nginx/sites-enabled/{site-name}
sudo ln -s /etc/nginx/sites-available/{site-name} /etc/nginx/sites-enabled/{site-name}
sudo nginx -t
sudo service nginx reload