Laravel未定义函数openssl_encrypt()

时间:2016-07-26 06:23:30

标签: php apache laravel

我使用laravel5.1,它在php cli上工作正常。 但我发布我的项目到apache(版本== 2.4),问题发生了。

  

Encrypter.php第67行中的FatalErrorException:
  调用未定义的函数openssl_encrypt()

9 个答案:

答案 0 :(得分:18)

首先确保您安装了openssl extension(由deceze发现),然后:

  1. 转到php.ini文件
  2. extension=php_openssl.dll
  3. 之前删除分号
  4. 重新启动Apache
  5. 我期待这是问题所在。

答案 1 :(得分:6)

我通过将libeay32.dll和ssleay32.dll从PHP根文件夹复制到Apache / bin文件夹然后重新启动Apache来解决了同样的问题。

答案 2 :(得分:5)

正如大多数人指出的那样,你需要在php.ini中取消注释openssl扩展。

我也在苦苦挣扎,我意识到php正在寻找“c:\ php”中的扩展,但我的是xampp安装。 在php.ini中指向 extension_dir 以更正php扩展路径;在我的情况下,“c:\ xampp \ php.7 \ ext”解决了这个问题。

希望能帮助某人。

答案 3 :(得分:2)

如果您使用Wamp服务器,那么它就会发生。在Xampp服务器中,无需取消注释php_openssl.dll。

解决此问题

之前删除分号
extension = php_openssl.dll 

在php.ini中

答案 4 :(得分:2)

请遵循以下步骤:

  • 在PHP 7.4.3中复制“ php.ini-development” 文件并将其重命名 到“ php.ini”
  • 然后,删除“ extension = openssl” 前面的分号,
  • 中的“ extension = mbstring” “ extension_dir = ext”

这对我有用,我希望对其他人有帮助。

答案 5 :(得分:0)

我正在使用wampserver,我遇到了同样的问题。 Openssl在php.ini中启用了,但还有另一个名为 phpForApache 的ini,它也有一行启用openssl。它对我有用。

答案 6 :(得分:0)

我正在使用nginx,并且我的nginx安装中包含一个PHP文件夹,如下所示:

Ahvaz = coordinates{5,{'lat','lon','station_elevation'}};
coordinates(5,:)=[]
All = coordinates{:,{'lat','lon','station_elevation'}};
distances = sqrt(sum(bsxfun(@minus, All, Ahvaz).^2,2));
closest = All(distances==min(distances),:);

我将上面的nginx移到了C:\Users\myusername\Downloads\nginx\php\php.ini 的根目录中,它解决了问题。

答案 7 :(得分:0)

  1. 只需从Laravel安装目录运行composer update命令,然后确保02.确保在php.ini中启用了extension = php_openssl.dll
  2. 重新启动Apache Server

答案 8 :(得分:0)

在Windows上 打开php.ini并更改php ext所在的路径

extension_dir =“ C:\ php \ ext”