无法使用Laravel 5.1on远程服务器检索url GET参数

时间:2015-08-22 08:55:01

标签: php laravel nginx

出于某种原因,我无法使用Illuminate\Http\Request外观从我的控制器中的url获取任何GET参数。我在多个控制器中测试过,但没有成功。

使用以下代码,访问domain.com/admin/dashboard?test=test时远程服务器上没有返回任何内容,但在我的本地计算机上它返回test

The dashboard function is called by the route /admin/dashboard

/**
 * Dashboard page
 *
 * @return  view
 */
public function dashboard(Request $request)
{
    echo '<pre>';
    var_dump($request->all());
    echo '</pre>';

    // Return here
    return;

    // ...instead of here
    return view('backend::pages.dashboard');
}

我正在使用Nginx和php5-fpm在Ubuntu 14.04 LTS上运行Laravel 5.1。代码在我的本地Homestead实例以及MAMP上运行良好。我检查了我的Nginx配置,一切似乎都很好。我在我的服务器上托管多个站点,我可以在所有其他站点上获取路由参数。

2 个答案:

答案 0 :(得分:9)

如果有人遇到此问题,问题在于我如何为此特定域设置Nginx。

我的/etc/nginx/sites-enabled/default文件中的此块无法使用查询字符串:

location / {
    try_files       $uri $uri/ /index.php$query_string;
}

将其更改为以下内容后,一切都按预期运行:

location / {
    try_files $uri $uri/ /index.php$is_args$args;
}

希望它有所帮助。

答案 1 :(得分:1)

尝试像这样访问它:

$var = Input::get('test');

以下是如何操作:Retrieving GET and POST data inside controller in Laravel 4 还有:What's the best practice accessing $_GET values in Laravel?

希望帮助