【问题标题】:Hash::make not working route.php fileHash::make 不起作用 route.php 文件
【发布时间】:2013-02-01 06:48:07
【问题描述】:

我在我的新 laravel 4 应用程序中遇到了身份验证问题。 我注意到一件奇怪的事情,这可能就是为什么当我这样做时:

var_dump(Hash::check('secret', Hash::make('secret')));

在数据库播种器(我创建哈希密码的地方)中,我得到了正确的结果。

当我直接在路由中运行相同的命令时,我得到了错误。

另外,当我做一个简单的:

var_dump(Hash::make('secret'));

直接在路由中仍然是假的。

这是坏了还是我错过了什么?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    您的安装有问题。这是我得到的:

    Route::get('/', function()
    {
        var_dump(Hash::make('secret'));  // Gives a bcrypt string output
        var_dump(Hash::check('secret', Hash::make('secret'))); // Output true
    }
    

    您是否进行了作曲家更新,却忘记更新应用程序本身?这是目前 Laravel 4 问题的最常见原因。

    This forum post 详细解答了如何在作曲家更新后更新主 L4 应用。

    编辑:我将在此处发布论坛内容 - 因为您需要登录 Laravel 论坛才能查看 beta 部分:

    如果您运行 composer update 并在执行此操作后遇到问题,您最 可能需要合并来自应用程序框架的更改,这 是 laravel/laravel 的开发分支。

    如果您最初克隆了这个存储库并且仍然共享 git 历史记录 有了它,您通常可以轻松地合并更改。假设你的遥控器 是指向此存储库的“上游”,您可以执行以下操作:

    git fetch upstream
    git merge upstream/develop 
    

    或者,您可以从开发分支中挑选单个提交,但我不会在这里介绍。

    如果您最初下载了 zip 发行版或删除了 上游历史,您仍然可以手动解决问题。看着 此分支上的提交并进行任何不存在于您的 应用。通常重大更改是简单的配置 变化。

    一旦 Laravel 4 stable 发布,需要这样做 频率要低得多,但这些变化仍然可能发生。记住 在此测试版应用程序中,很可能会发生重大更改 发生。

    感谢 Kindari 的论坛帖子。

    【讨论】:

    • 我已经使用来自 github(github.com/laravel/laravel/archive/develop.zip) 的 zip 更新并重新设置了我的配置。作曲家也是最新的。在我的路线上仍然得到 bool(false) 。我同意必须打破某些东西 - 另一个应用程序上的较旧安装适用于最新的作曲家更新。
    • 仅供参考 - 我刚刚下载了最新的 laravel 应用程序,并安装了最新的作曲家 - 为我工作......你有没有覆盖任何类或什么?您是否尝试过空白的全新安装,或在您的应用中?
    • 在最新开发分支的全新安装中,对于这两个条件,我仍然得到布尔值 false。我所做的只是作曲家更新并将哈希语句添加到“/”路由中。我也不能从控制器散列 - 它只适用于 db 播种器。开始认为这可能是我的 PHP 安装,但 Hash 仍然适用于具有最新作曲家更新的较旧的 laravel 应用程序。
    • 您使用的是什么版本的 PHP?您是否打开了 PHP 错误? Hash() 需要 Crypt - 也许这是你的问题?
    • 是的,错误出现了,我在任何日志文件中都没有得到任何信息。地穴正在工作 - 我的数据库播种机地穴很好。我的旧应用程序在相同的 xampp 安装下运行。明天我会尝试一些不同的机器。将保持更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 2014-03-11
    • 2014-01-19
    • 1970-01-01
    相关资源
    最近更新 更多