首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在PHP7.4中使用ApacheServer2.4启用openSSL?

如何在PHP7.4中使用ApacheServer2.4启用openSSL?
EN

Stack Overflow用户
提问于 2020-05-20 17:38:48
回答 2查看 12.6K关注 0票数 1

我知道有很多类似的问题,但似乎没有人能解决我的问题。我不知道你能不能帮我个忙。我会尽量具体地说:

  • i在Windows x64
  • PHP7.4.6
  • Apache服务器2.4.43
  • 上,在php.ini文件上,未注释extension=openssl和extension_dir =“ext”

H19,我添加了这个额外的代码片段H 210F 211

代码语言:javascript
运行
复制
<IfModule php7_module>
  AddHandler application/x-httpd-php .php
  PHPIniDir "C:/php-7.4.6"
  LoadFile "C:/php-7.4.6/libcrypto-1_1-x64.dll"
  LoadFile "C:/php-7.4.6/libssl-1_1-x64.dll"
  LoadFile "C:/php-7.4.6/libssh2.dll"
  LoadFile "C:/php-7.4.6/nghttp2.dll"
  LoadFile "C:/php-7.4.6/php7ts.dll"
</IfModule>

(我在某个地方看到了LoadFiles,这可能是解决方案,至少对我来说不是这样)

  • 在命令行上检查了安装的模块(php -m),并且似乎启用了ssl模块。但是,当检查extension_loaded ('openssl')指令时,它返回一个false。另外,对于phpinfo(),我看到OpenSSL支持是禁用的,我应该安装(ext/openssl)。我不知道他们为什么要告诉我相反的事情。
  • 我检查了php和apache是否都是从不同的php.ini文件中读取的,它们都说了相同的话:配置文件(php.ini)路径C:\WINDOWS加载的配置文件

这一点我几乎不懂,因为Windows文件夹中没有php.ini。据我所知,该文件是从下面指定的路径获取的。

  • 在ext文件夹中有一个php_openssl.dll文件。
  • I尝试将C:\php-7.4.6\libcrypto-1_1-x64.dll作为环境变量,因为我在另一个链接中看到了这一点。
  • 和是的,我重新启动了服务器几次。我想我没有别的选择了,我不知道我还能做什么。谢谢你的帮忙!我试图附上我一直在访问的链接,尽管我确信我在失去跟踪时会留下一些链接。

Unable to find the wrapper "https" with file_get_contents

OpenSSL Support disabled in Apache 2.4/PHP 7.4.4

PHP OpenSSL extension not working while install Typo3 6.2.2 on window7

How to enable HTTPS stream wrappers

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2020-05-21 09:34:58

幸运的是,我设法让它开始工作,我想和你分享所有的解决方案,以防你面临同样的问题。我碰巧想到要检查Apache的错误日志,每个模块都注册了以下错误:无法加载动态库。它试图从/ext文件夹中获取模块,它不知道它在哪里,所以我所做的就是将php.ini文件extension_dir更改为绝对路径"C:\php-7.4.6\ext“,现在它就像梦一样工作!

票数 3
EN

Stack Overflow用户

发布于 2020-11-08 10:36:14

Php.ini中有一行:

代码语言:javascript
运行
复制
;extension_dir = "ext"

除了取消注释extension=php_openssl.dll之外,您只需取消注释。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61919440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档