【问题标题】:Laravel with php 7: No supported encrypter foundLaravel 与 php 7:找不到支持的加密器
【发布时间】:2026-01-24 21:35:01
【问题描述】:

这个问题已经被问过很多次了,所以让我列出我在它上面做的步骤:

  1. 设置'cipher' => 'AES-128-CBC',(原AES-256-CBC);
  2. php artisan key:generate
  3. 将新密钥粘贴到.env 文件中

但错误仍然相同。

在 phpinfo 中,mcrypt 显示已启用,尽管 httpd.conf 中没有扩展名。一些答案说该扩展与 php 7 集成。

该项目是从 git 下载并使用composernpm 安装的,.env 文件是从另一个开发人员发送的。

【问题讨论】:

    标签: laravel encryption composer-php


    【解决方案1】:

    可能是您的 mcrypt 有问题。您需要检查是否安装了 mcrypt php 扩展,并且应该启用它。 在命令提示符下运行php -m | grep mcrypt 如果您在 apache 中找不到,请安装它。 https://www.myoddweb.com/2010/11/18/install-mcrypt-for-php-on-windows/这里是链接。

    【讨论】:

    • phpinfo 显示 mcrypt 已启用,虽然我没有在 httpd.conf 文件中找到 php_mcrypt.dll 扩展名。有的回答说mcrypt是集成在php 7的库中的,不知道是否还需要扩展文件。
    【解决方案2】:

    在执行了您列出的问题的最后两个步骤后,您是否清除了配置缓存?

    如果没有,那么你必须运行php artisan config:clear,因为 Laravel 会缓存所有配置数据。

    还有你为什么要换cipher?如果没有原因,将其还原为原始并再次执行这些步骤。

    也许这对你有用。

    【讨论】:

    • 我先用了原来的env和key,但是在我清除配置缓存之后出现错误。