Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel未定义函数openssl_encrypt()_Php_Apache_Laravel - Fatal编程技术网

Php Laravel未定义函数openssl_encrypt()

Php Laravel未定义函数openssl_encrypt(),php,apache,laravel,Php,Apache,Laravel,我使用laravel5.1,它在php cli上运行良好。 但是我将我的项目发布到apache(version==2.4),问题就发生了 Encrypter.php第67行中的FatalErrorException: 调用未定义的函数openssl_encrypt() 首先确保已安装(由发现),然后: 转到您的php.ini文件 删除extension=php\u openssl.dll之前的分号 重新启动Apache 我希望这就是问题所在。我通过将libeay32.dll和ssleay32.d

我使用laravel5.1,它在php cli上运行良好。 但是我将我的项目发布到apache(version==2.4),问题就发生了

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


首先确保已安装(由发现),然后:

  • 转到您的
    php.ini
    文件
  • 删除
    extension=php\u openssl.dll之前的分号
  • 重新启动Apache

  • 我希望这就是问题所在。

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

    如果您使用Wamp服务器,则会发生这种情况。在Xampp服务器中,无需取消对php_openssl.dll的注释

    要解决此问题,请在前面删除分号

    extension = php_openssl.dll 
    

    在php.ini中

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

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

    我也遇到了同样的问题,我意识到php正在“c:\php”中寻找扩展,但我的是xampp安装。 在php.ini中指向扩展目录,以更正php扩展路径;在我的例子中,“c:\xampp\php.7\ext”解决了这个问题


    希望这对某人有所帮助。

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

    C:\Users\myusername\Downloads\nginx\php\php.ini
    

    我将上面的nginx移动到
    C:\
    的根目录,它解决了问题。

    按照以下步骤操作:

    • 在PHP7.4.3中,复制“PHP.ini开发”文件并重命名它 至“php.ini”
    • 然后,移除“extension=openssl”前面的分号, “php.ini”文件中的“extension=mbstring”和“extension\u dir=ext”
    这对我很有效,我希望它能帮助其他人

  • 只需从Laravel安装目录和02运行composer update命令。确保在php.ini中启用了extension=php\u openssl.dll
  • 重新启动Apache服务器
  • 在窗户上 打开php.ini并更改位于php ext的路径


    extension_dir=“C:\php\ext”

    可能是Apache或
    php.ini
    中的配置问题,尽管您缺少php openssl扩展,但仍不确定→ 在我的特殊情况下,
    php\u openssl.dll
    扩展没有被加载,因为php二进制文件目录没有在系统
    PATH
    环境变量中设置