即使SQL查询找到行,Cakephp Auth登录也会返回false

时间:2012-11-05 17:23:38

标签: mysql cakephp authentication pdo components

我在linux盒子上安装了Cakephp应用程序。 安装了Mysql驱动程序并删除了php-pecl-acl。 Cookies没有问题。用户和密码存在于数据库中。密码是数据库中的CHAR(40)。

Auth-> login()方法始终返回false ,即使sql查询调试日志显示受影响的行= 1

array(
'log' => array(
    (int) 0 => array(
        'query' => 'SELECT `User`.`id`, `User`.`username`, `User`.`password`, `User`.`email`, FROM `somedatabase`.`users` AS `User`   WHERE `User`.`username` = 'someuser' AND `User`.`password` = '2d7a34c9ef8efa2cfdf4b89175f7edec1cd0ddda'    LIMIT 1',
        'params' => array(),
        'affected' => (int) 1,
        'numRows' => (int) 1,
        'took' => (float) 2
    )
),
'count' => (int) 1,
'time' => (float) 2

请帮忙。 谢谢。

2 个答案:

答案 0 :(得分:0)

听起来像我遇到的完全相同的问题最终成为与PDO / PECL相关的服务器特定问题:

$this->Auth->login() creates correct query that returns 1 row, but fails IF check (server specific issue)


修改 OP对他如何修复的评论:

  

我卸载了PECL,然后卸载了php-pdo并放回了原始版本   php.ini文件。之后我重新安装了mysql-php和php-pdo软件包   从亚马逊,它的工作。你是对的,这是服务器问题   pdo安装。

答案 1 :(得分:0)

我遇到了同样的问题。我联系过我的服务器的人,他说我们没有安装PECL或php-pdo软件包。会出现什么问题。