关于php:Random RuntimeException:唯一受支持的密码是具有正确密钥长度的AES-128-CBC和AES-256-CBC
Laravel 5.3(在Windows Server上)我也有同样的问题。我做了所有可能的尝试:检查了.env文件,配置,工匠生成的新密钥,缓存:清除,配置:清除,作曲家更新,但是问题仍然存在。
请注意,具有完全相同版本的apache,mysql,php的相同代码在Mac OS上不会产生此问题。
我发现密钥("加密承包商"的第一个参数)"有时"为空,当然会失败。在大多数情况下,密钥是正确的,但是密钥会从EncryptionServiceProvider随机传到空,然后EncryptionServiceProvider向其询问应用程序配置。
因此,对我而言唯一有效的解决方案是在EncryptionServiceProvider中添加
当然,这不是一个"干净"的解决方案,也不能解释问题,但至少可以避免找到充满错误的日志文件:
更多详细信息和回溯日志:
当然,如我所写,我检查了.env文件,配置,工匠新密钥生成,缓存:清除,配置:清除,作曲家更新。
这东西还可以,因为它可以在99%的时间内正常工作,但随机会出现错误。
您是否运行
php artisan key:generate ?
您是否尝试过
php artisan config:cache ?
您解决问题了吗? 我有同样的问题。
清除配置缓存
Laravel允许你缓存应用程序的配置,以提高性能。以下是清除配置缓存的步骤:
php artisan config:cache
该命令将生成一个缓存配置文件,以提高应用程序的性能。如果你在更改应用程序的配置文件之后运行该命令,则必须使用下面命令清除缓存:
php artisan config:clear