A extensão PHP OpenSSL possui um pacote?

22

Eu sei que a extensão OpenSSL está na fonte PHP, mas não posso ativá-la quando executo apt-get install php5. Não existe nem um apt-get install php5-openssl. Como devo proceder?

Tasso Evangelista
fonte
2
Eu sei que este post é antigo, apenas algumas informações gerais. Por padrão, os pacotes do PHP são distribuídos com --with-openssl=[defaultpath]. Isso significa que você só tem que instalar openssl (ou qualquer outra variante) eg sudo apt-get install openssl (também verificar qual versão do OpenSSL para instalar devido à heartbleed , por exemplo sudo apt-cache policy openssl. Para verificar wether PHP é ativado com openssl basta digitar php -m | grep openssle php -i | grep OpenSSL.
DBF

Respostas:

29

Eu acho que o suporte a SSL não depende de uma extensão, ele já está embutido no PHP do Ubuntu. Tente criar um arquivo PHP no seu servidor da web com este conteúdo:

<?php phpinfo() ?>

depois acesse-o em um navegador ( http://<server>/<file>.php). Você deveria ver:

insira a descrição da imagem aqui

e

insira a descrição da imagem aqui

Eu tenho apenas esses pacotes PHP instalados: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.

Eric Carvalho
fonte
Uma construção pessoal foi esquecida no meu sistema ... Obrigado!
Tasso Evangelista
15
Ou chame a função em um terminalphp -i | grep -i openssl
Overclover 17/08/16
Oneliner rápido para listar todos os módulos atualmente ativados no seu binário PHP:php -i | grep enabled
JulioHM
11

Tente :

php -i | grep -i openssl

Se você possui a extensão OpenSSL instalada, deverá ver algo assim:

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

Parece que a extensão OpenSSL está instalada por padrão.

Atualização :

Se você não tiver esta extensão, poderá editar o arquivo php.ini .

Do 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
fonte
se não, qual é a resposta?
precisa
@BraianMellor No php.ini, tente mudar ;extension=php_openssl.dllpara extension=php_openssl.dllou talvez procure resposta em simplemachines.org/community/index.php?topic=310264.0 Boa sorte!
simhumileco
.dll no Linux? Você tem certeza?
Braian Mellor 30/10
1
Minha solução foi instalar o openssl pelo apt-get. Melhor!
Braian Mellor 30/10
1
@BraianMellor escreva a resposta :)
simhumileco
1

Eu instalei OpenSSL 1.1.0fusando

# 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

Espero que ajude alguém!

Braian Mellor
fonte