1

LinuxボックスにCakephpアプリをインストールしています。Mysqlドライバーがインストールされ、php-pecl-aclが削除されました。クッキーに問題はありません。ユーザーとパスワードはデータベースに存在します。パスワードはデータベース内のCHAR(40)です。

Auth-> login()メソッドは、影響を受ける行が1であることをSQLクエリのデバッグログに示している場合でも、常にfalseを返します。

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

助けてください。ありがとうございました。

4

2 に答える 2

0

私が抱えていたのとまったく同じ問題のように聞こえますが、最終的にはPDO/PECLに関連するサーバー固有の問題になりました。

$ this-> Auth-> login()は、1行を返す正しいクエリを作成しますが、IFチェックに失敗します(サーバー固有の問題)


編集: 彼がどのように修正したかについてのOPからのコメント:

PECLをアンインストールしてから、php-pdoをアンインストールして、元のphp.iniファイルを元に戻しました。その後、Amazonからmysql-phpおよびphp-pdoパッケージを再インストールすると、機能しました。正解です。これは、pdoのインストールに関するサーバーの問題でした。

于 2012-11-05T17:38:00.843 に答える
0

私も同じ問題を抱えていました。サーバーマンに連絡したところ、PECLパッケージもphp-pdoパッケージもインストールしていないとのことでした。何が問題になるでしょう。

于 2013-09-10T13:07:37.013 に答える