Php $request变量在post后为空

Php $request变量在post后为空,php,cakephp,cakephp-2.2,Php,Cakephp,Cakephp 2.2,我在CakePHP上遇到了一个奇怪的问题,当我尝试在本地登录到我的网站管理(/users/login)时,我输入了用户名和密码,工作正常 但在我上传到远程服务器后,同样的代码,sambe数据库不允许用户登录,它说用户名/密码无效,但是在几个小时试图弄清楚发生了什么之后,我发现FormAuthenticate.php中的authenticate方法中的变量$request基本上是空的,它是这样进入远程服务器的: object(CakeRequest) { params => arra

我在CakePHP上遇到了一个奇怪的问题,当我尝试在本地登录到我的网站管理(/users/login)时,我输入了用户名和密码,工作正常 但在我上传到远程服务器后,同样的代码,sambe数据库不允许用户登录,它说用户名/密码无效,但是在几个小时试图弄清楚发生了什么之后,我发现FormAuthenticate.php中的authenticate方法中的变量$request基本上是空的,它是这样进入远程服务器的:

object(CakeRequest) {
    params => array(
        'plugin' => null,
        'controller' => 'users',
        'action' => 'login',
        'named' => array(),
        'pass' => array()
    )
    data => array()
    query => array()
    url => 'users/login/'
    base => ''
    webroot => '/'
    here => '/users/login/'
}
但是,本地运行的同一页返回:

object(CakeRequest) {
    params => array(
        'plugin' => null,
        'controller' => 'users',
        'action' => 'login',
        'named' => array(),
        'pass' => array()
    )
    data => array(
        'User' => array(
            'password' => '*****',
            'username' => 'admin'
        )
    )
    query => array()
    url => 'users/login/'
    base => ''
    webroot => '/'
    here => '/users/login/'
}
我试图找到任何可能导致这种情况的原因,但仍然没有运气,我是CakePHP新手,所以我可能错过了一些东西,谢谢


更新#1,这是我的UserController::login方法

public function login() {
        $this->layout = 'default_admin';
        if ($this->request->is('post')) {
            if ($this->Auth->login()) {
                $this->redirect($this->Auth->redirect());
            } else {
                $this->Session->setFlash(__('Invalid username or password, try again'));
            }
        }
    }

更新#2:我使用chrome的开发者工具将表单方法从“post”更改为“get”,然后在UserController::login()上更改为: ... 如果($this->request->is('get')){ ...
然后它工作了,但我需要它与“post”方法一起工作,虽然=\

结果表明服务器需要重新启动。我包括了这两行代码来测试.htaccess文件上的fileupload组件:

php_值上传_最大_文件大小99999m

php_值post_最大尺寸99999m

然后它开始像上面所描述的那样行为怪异,因此我决定重新启动服务器,并收到以下错误消息:

“PHP警告:第0行中XXX字节的POST内容长度超过了-XXX字节的限制”

在谷歌上搜索发现它与文件大小有关,所以我决定将值从“9999999999 m”更改为“2147483647”,然后重新启动服务器,现在一切正常


很抱歉犯了这样一个新手错误,我对PHP和Cake非常陌生,我想每次上传新文件时都不必重新启动服务器。

你能分享你的
UsersController::login()吗
method with us?@Jelmer我刚刚用这个方法更新了我的问题,提前谢谢!你上传了什么样的文件?因为上传文件时你不必重新启动服务器。至少,我以前从来没有这样做过。或者你在编辑php.ini文件吗?@Jelmer确实我编辑了php.ini,这就是我为什么要这么做的原因必须重新启动服务器吗?我不知道,谢谢。因为Apache需要“重新读取”文件。如果没有重新启动,则不会:)也许重新加载可以,但我不太确定。