Я знаю, что расширение OpenSSL находится в исходном коде PHP, но я не могу включить его, когда выполняю apt-get install php5
. Нет даже apt-get install php5-openssl
. Как я должен действовать дальше?
Я думаю, что поддержка SSL не зависит от расширения, она уже встроена в PHP Ubuntu. Попробуйте создать PHP-файл на вашем веб-сервере с таким содержимым:
<?php phpinfo() ?>
затем откройте его в браузере (http://<server>/<file>.php
). Вы должны увидеть:
и
У меня установлены только эти пакеты PHP: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.
Попробуй:
php -i | grep -i openssl
Если у вас установлено расширение OpenSSL, вы должны увидеть что-то вроде этого:
opensslOpenSSL support => enabledOpenSSL Library Version => OpenSSL 1.0.1f 6 Jan 2014OpenSSL Header Version => OpenSSL 1.0.1f 6 Jan 2014openssl.cafile => no value => no valueopenssl.capath => no value => no valueOpenSSL 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.;
Я установил OpenSSL 1.1.0f
с помощью
# apt-get install openssl# php -i | grep -i opensslopensslOpenSSL support => enabledOpenSSL Library Version => OpenSSL 1.1.0f 25 May 2017OpenSSL Header Version => OpenSSL 1.1.0f 25 May 2017Openssl default config => /usr/lib/ssl/openssl.cnfopenssl.cafile => no value => no valueopenssl.capath => no value => no valueNative OpenSSL support => enabled
Надеюсь, это кому-нибудь поможет!
Я знаю, что этот пост старый, просто некоторая общая информация. По умолчанию пакеты PHP распространяются с помощью --with-openssl=[defaultpath]
. Это означает, что вам нужно только установить openssl (или любой другой вариант), например sudo apt-get install openssl
(также проверьте, какую версию openssl установить из-за heartbleed, например sudo apt-cache policy openssl
. Чтобы проверить, включен ли PHP с openssl, просто введите php -m | grep openssl
и php -i | grep OpenSSL
.