PHP OpenSSL扩展有包吗?

PHP OpenSSL扩展有包吗?

我知道 PHP 源代码中有 OpenSSL 扩展,但执行时无法启用它apt-get install php5。甚至没有apt-get install php5-openssl。我该怎么做?

答案1

我认为 SSL 支持不依赖于扩展,它已经内置在 Ubuntu 的 PHP 中。尝试在您的 Web 服务器中创建一个包含以下内容的 PHP 文件:

<?php phpinfo() ?>

然后在浏览器中访问它(http://<server>/<file>.php)。您应该看到:

在此处输入图片描述

在此处输入图片描述

我只安装了这些 PHP 包:libapache2-mod-php5、php5-cli、php5-common、php5-gd、php5-mcrypt、php5-mysql。

答案2

尝试

php -i | grep -i openssl

如果您安装了 OpenSSL 扩展,您应该会看到类似这样的内容:

openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.0.1f 6 Jan 2014
OpenSSL Header Version => OpenSSL 1.0.1f 6 Jan 2014
openssl.cafile => no value => no value
openssl.capath => no value => no value
OpenSSL support => enabled

看起来 OpenSSL 扩展是默认安装的。

更新

如果你没有此扩展,你可以编辑php.ini文件。

php.ini

;;;;;;;;;;;;;;;;;;;;;;
; Dynamic Extensions ;
;;;;;;;;;;;;;;;;;;;;;;

; If you wish to have an extension loaded automatically, use the following
; syntax:
;
;   extension=modulename.extension
;
; For example, on Windows:
;
;   extension=msql.dll
;
; ... or under UNIX:
;
;   extension=msql.so
;
; ... or with a path:
;
;   extension=/path/to/extension/msql.so
;
; If you only provide the name of the extension, PHP will look for it in its
; default extension directory.
;

答案3

OpenSSL 1.1.0f使用安装

# apt-get install openssl

# php -i | grep -i openssl
openssl
OpenSSL support => enabled
OpenSSL Library Version => OpenSSL 1.1.0f  25 May 2017
OpenSSL Header Version => OpenSSL 1.1.0f  25 May 2017
Openssl default config => /usr/lib/ssl/openssl.cnf
openssl.cafile => no value => no value
openssl.capath => no value => no value
Native OpenSSL support => enabled

希望它能帮助到别人!

相关内容