Rozszerzenie PHP OpenSSL ma pakiet?


22

Wiem, że rozszerzenie OpenSSL jest w źródle PHP, ale nie mogę go włączyć podczas wykonywania apt-get install php5. Nie ma nawet apt-get install php5-openssl. Jak mam postępować?


2
Wiem, że ten post jest stary, tylko kilka ogólnych informacji. Domyślnie pakiety PHP są dystrybuowane z --with-openssl=[defaultpath]. Oznacza to, że musisz tylko zainstalować openssl (lub jakikolwiek inny wariant) np. sudo apt-get install openssl (Sprawdź także, która wersja openssl ma zostać zainstalowana z powodu heartbleed , np sudo apt-cache policy openssl. Aby sprawdzić, czy PHP jest włączone z openssl, po prostu wpisz php -m | grep openssli php -i | grep OpenSSL.
dbf

Odpowiedzi:


29

Myślę, że obsługa SSL nie zależy od rozszerzenia, jest już wbudowana w PHP Ubuntu. Spróbuj utworzyć plik PHP na swoim serwerze internetowym z tą zawartością:

<?php phpinfo() ?>

następnie uzyskaj do niego dostęp w przeglądarce ( http://<server>/<file>.php). Powinieneś zobaczyć:

wprowadź opis zdjęcia tutaj

i

wprowadź opis zdjęcia tutaj

Mam zainstalowane tylko te pakiety PHP: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.


Osobista wersja została zapomniana w moim systemie ... Dzięki!
Tasso Evangelista,

15
Lub wywołaj funkcję w terminaluphp -i | grep -i openssl
Overclover

Szybki oneliner, aby wyświetlić listę wszystkich modułów aktualnie włączonych w twoim php -i | grep enabled
pliku

11

Spróbuj :

php -i | grep -i openssl

Jeśli masz zainstalowane rozszerzenie OpenSSL, powinieneś zobaczyć coś takiego:

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

Wygląda na to, że rozszerzenie OpenSSL jest instalowane domyślnie.

Aktualizacja :

Jeśli nie masz tego rozszerzenia, możesz edytować plik php.ini .

Z 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.
;

jeśli nie to jaka jest odpowiedź?
Braian Mellor

@BraianMellor w php.ini próby zmiany ;extension=php_openssl.dlldo extension=php_openssl.dlllub może poszukać odpowiedzi na simplemachines.org/community/index.php?topic=310264.0 powodzenia!
simhumileco

.dll w systemie Linux? Jesteś pewny?
Braian Mellor

1
Moim rozwiązaniem było zainstalowanie openssl przez apt-get. Najlepiej!
Braian Mellor

1
@BraianMellor napisz odpowiedź :)
simhumileco

1

Zainstalowałem OpenSSL 1.1.0fza pomocą

# 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

Mam nadzieję, że to komuś pomoże!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.