php - 在 Apache 2.4/PHP 7.4.4 中禁用 OpenSSL 支持
问题描述
我正在尝试手动设置 Apache MariaDB PHP,但我遇到了 openssl 功能的一些问题。以下是我设置 Apache 2.4 和 PHP 7.4.4 的步骤:
一、Apache httpd安装配置
- 从 apachelounge下载httpd-2.4.43-win64-VS16.zip并解压到“D:\Programs-64Bit\Apache24”
ServerRoot
在 httpd.conf 中设置完整路径- 设置
ServerName
为localhost:80
- 在 httpd.conf 中定义
WWWROOT
所需的 DocumentRoot 路径(即Define WWWROOT "E:/Programs/WWW"
) - 设置
DocumentRoot
和<Directory>
值"${WWWROOT}"
二、将 PHP 与 Apache 结合
- 下载并解压线程安全的 php-7.4.4-Win32-vc15-x64.zip到“D:\Programs-64Bit\PHP\PHP7.4.4-64Bit”
- 在 httpd.conf 的末尾添加以下行:
Define PHPROOT "D:/Programs-64Bit/PHP/PHP7.4.4-64Bit" LoadModule php7_module "${PHPROOT}/php7apache2_4.dll" AddType application/x-httpd-php .php PHPIniDir "${PHPROOT}" LoadFile "${PHPROOT}/libcrypto-1_1-x64.dll" LoadFile "${PHPROOT}/libssl-1_1-x64.dll" LoadFile "${PHPROOT}/libssh2.dll" LoadFile "${PHPROOT}/nghttp2.dll" LoadFile "${PHPROOT}/php7ts.dll"
- 复制并重命名 php.ini-development 到与 php.ini 相同的 php 根目录
- 设置 extension_dir 并启用除 oci8_12c、pdo_firebird、pdo_oci 和 snmp 之外的每个扩展
三、用 Apache 测试 PHP
- 使用以下代码创建一个 php 文件 (index.php):
<?php phpinfo(); ?>
- 运行 httpd.exe
这就是它告诉我的有关 openssl 的信息:
根据StackOverflow 上的“在 Windows 上的 Apache/PHP 中禁用 OpenSSL 支持”和 php.net 页面“ PHP 手册 > 函数参考 > 加密扩展 > OpenSSL > 安装/配置”中的最后一条评论,它应该可以工作。我究竟做错了什么?
解决方案
如果您想在Phar中启用OpenSSL支持。
只需取消注释以下行。
// php.ini
extension=openssl
推荐阅读
- node.js - 如何将连续的动态音频文件从 NodeJS 流式传输到 HTML5 音频标签 - 作为一个流
- operating-system - fat中的datablock是什么意思
- python - 将每个数据从多个 numpy 传递给函数
- javascript - 如何使用动态单选按钮添加事件以显示文本框
- c++ - 编译器如何生成正确版本的模板函数,其参数在运行时知道?
- php - PHP 基于其他两个数组的数据创建数组的最佳方法
- c# - 将每个异步结果存储在其自己的数组元素中
- amazon-web-services - 使用 AWS Lambda fn 订阅一个 Amazon SNS 主题,即 sns.subscribe()?
- javascript - 我怎样才能在我的网页中只运行一次 JavaScript?
- python - 在scrapy中转换最终输出?