Расширение PHP OpenSSL имеет пакет?

22

Я знаю, что расширение OpenSSL находится в исходном коде PHP, но не могу включить его, когда выполняю apt-get install php5. Там даже нет apt-get install php5-openssl. Как я должен действовать?

Тассо Евангелиста
источник
2
Я знаю, что этот пост старый, просто некоторая общая информация. По умолчанию пакеты PHP распространяются с --with-openssl=[defaultpath]. Это означает, что вам нужно только установить openssl (или любой другой вариант), например sudo apt-get install openssl (также проверьте, какую версию openssl установить из-за сердцебиения , например sudo apt-cache policy openssl. Чтобы проверить, включен ли PHP с openssl, просто введите php -m | grep opensslи php -i | grep OpenSSL.
dbf

Ответы:

29

Я думаю, что поддержка SSL не зависит от расширения, она уже встроена в PHP Ubuntu. Попробуйте создать файл PHP на вашем веб-сервере с таким содержимым:

<?php phpinfo() ?>

затем получите доступ к нему в браузере ( http://<server>/<file>.php). Тебе следует увидеть:

введите описание изображения здесь

а также

введите описание изображения здесь

У меня установлены только эти пакеты PHP: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.

Эрик Карвалью
источник
Личная сборка была забыта в моей системе ... Спасибо!
Тассо Евангелиста
15
Или вызовите функцию в терминалеphp -i | grep -i openssl
Overclover
Быстрый oneliner, чтобы перечислить все модули, в настоящее время включенные в вашем бинарном PHP:php -i | grep enabled
JulioHM
11

Попробуй :

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.
;
simhumileco
источник
если нет, каков ответ?
Брайан Меллор
@BraianMellor В php.ini попытаться изменить ;extension=php_openssl.dllк extension=php_openssl.dllили , может быть , найти ответ на simplemachines.org/community/index.php?topic=310264.0 Удачи!
simhumileco
.dll в Linux? Вы уверены?
Брайан Меллор
1
Моим решением была установка openssl с помощью apt-get. Лучший!
Брайан Меллор
1
@BraianMellor напиши ответ :)
simhumileco
1

Я установил 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

Надеюсь, это поможет кому-то!

Брайан Меллор
источник