调用未定义函数 Illuminate\Encryption\openssl_decrypt()

Call to undefined function Illuminate\Encryption\openssl_decrypt()

我正在使用 xampp 和 windows 以及 laravel,一切正常,但是当我完成工作并关闭 xampp 并尝试打开我的今天早上上班,这是我得到的:

FatalThrowableError in Encrypter.php line 100:
Fatal error: Call to undefined function Illuminate\Encryption\openssl_decrypt()

Encrypter.php 是一个标准的 laravel 文件,我什至没有碰过它。我的分机已开启。

分机=php_openssl.dll

可能出了什么问题?

如果您关闭 XAMPP 并重新启动它,可能值得 运行 再次执行 composer install 命令,或者只是 运行 composer update确保正确加载所有依赖项。

composer install

没有解决问题,但以下解决了问题:

composer update

只需编辑 php.ini 文件并通过删除“;”取消注释在此行之前 --extension=openssl。在 php.ini 文件中。它将开始正常工作。

修改 php.ini 并在您的 php 环境中启用 openssl 扩展。

要找到php安装路径,运行在终端cmd[=19=下面的命令]

php --ini

输出如下:

Configuration File (php.ini) Path: C:\Windows
Loaded Configuration File:         C:\php-7.3.8\php.ini
Scan for additional .ini files in: (none)
Additional .ini files parsed:      (none)

这是我的 加载的配置文件C:\php-7.3.8\php.ini

使用 vim、nano、notepad++ 或任何编辑器使用任何编辑器打开 php.ini。

找到extension=openssl移除;

from ;extension=openssl to extension=openssl

保存并重启服务器。

如果加载了不正确的 php.ini 文件,也会出现此问题。 确保在你的配置中 php_modulehttpd.conf

中定义
<IfModule php_module>
    PHPINIDir "C:/xampp/php"
</IfModule>

我在使用 PHP8 时遇到了这样的问题。所以我按照@dipenpar 的步骤进行操作,它起作用了。谢谢