2016-07-26 64 views
5

我使用laravel5.1,它在php cli上工作正常。 但我發佈我的項目到Apache(版本== 2.4),問題發生了。Laravel未定義函數openssl_encrypt()

FatalErrorException在Encrypter.php線67:
調用未定義功能openssl_encrypt()

+0

可能是Apache或'php.ini'中的配置問題,雖然不確定 –

+0

您錯過了PHP openssl擴展→http://php.net/manual/en/openssl.installation.php – deceze

+0

添加這個 –

回答

11

首先確保你安裝了openssl extension(由deceze發現),那麼:

  1. 轉到您的php.ini文件
  2. 刪除分號extension=php_openssl.dll
  3. 重新啓動Apache的

我期待這是問題所在。

1

我解決了相同的問題,將libeay32.dll和ssleay32.dll從PHP根文件夾複製到Apache/bin文件夾,然後重新啓動Apache。

0

如果您使用Wamp服務器比它發生。在xampp服務器中,它不需要uncoment php_openssl.dll。 解決此問題在php.ini中刪除extension = php_openssl.dll之前的分號

0

我正在使用wampserver,並且遇到同樣的問題。 Openssl在php.ini中啓用,但有另一個ini叫phpForApache其中有一行也可以啓用openssl。它爲我工作。

0

大多數人指出,您需要在php.ini中取消對openssl擴展的註釋。

我也一樣在掙扎,我意識到php正在尋找擴展名爲「c:\ php」,但我的是一個xampp安裝。 指向extension_dir在php.ini中更正php擴展路徑;在我的情況下「c:\ xampp \ php.7 \ ext」解決了這個問題。

希望能幫助別人。