我知道 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
希望它能帮助到别人!