我使用laravel5.1,它在php cli上工作正常。 但我发布我的项目到apache(版本== 2.4),问题发生了。
Encrypter.php第67行中的FatalErrorException:
调用未定义的函数openssl_encrypt()
答案 0 :(得分:18)
首先确保您安装了openssl extension(由deceze发现),然后:
php.ini
文件extension=php_openssl.dll
我期待这是问题所在。
答案 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)
请遵循以下步骤:
这对我有用,我希望对其他人有帮助。
答案 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)
答案 8 :(得分:0)
在Windows上 打开php.ini并更改php ext所在的路径
extension_dir =“ C:\ php \ ext”