PHP OpenSSL-Erweiterung hat ein Paket?

22

Ich weiß, dass sich die OpenSSL-Erweiterung in PHP befindet, kann sie jedoch nicht aktivieren, wenn ich sie durchführe apt-get install php5. Es gibt nicht einmal eine apt-get install php5-openssl. Wie muss ich vorgehen?

Tasso Evangelista
quelle
2
Ich weiß, dass dieser Beitrag alt ist, nur einige allgemeine Informationen. Standardmäßig werden PHP-Pakete mit verteilt --with-openssl=[defaultpath]. Es heißt , Sie müssen nur openssl (oder jede andere Variante) zB installieren sudo apt-get install openssl (auch prüfen , welche Version von OpenSSL zu installieren aufgrund Heartbleed , zB sudo apt-cache policy openssl. Ob PHP Um zu überprüfen , mit OpenSSL aktiviert geben Sie einfach php -m | grep opensslund php -i | grep OpenSSL.
dbf

Antworten:

29

Ich denke, die SSL-Unterstützung hängt nicht von einer Erweiterung ab, sondern ist bereits in Ubuntus PHP integriert. Versuchen Sie, auf Ihrem Webserver eine PHP-Datei mit folgendem Inhalt zu erstellen:

<?php phpinfo() ?>

greifen Sie dann in einem Browser darauf zu ( http://<server>/<file>.php). Das solltest du sehen:

Bildbeschreibung hier eingeben

und

Bildbeschreibung hier eingeben

Ich habe nur diese PHP-Pakete installiert: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.

Eric Carvalho
quelle
Ein persönlicher Build wurde in meinem System vergessen ... Danke!
Tasso Evangelista
15
Oder rufen Sie die Funktion in einem Terminal aufphp -i | grep -i openssl
Overclover
Schneller Oneliner, um alle Module aufzulisten, die derzeit in Ihrer PHP-Binärdatei php -i | grep enabled
aktiviert sind
11

Versuchen Sie :

php -i | grep -i openssl

Wenn Sie die OpenSSL-Erweiterung installiert haben, sollte Folgendes angezeigt werden:

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

Es scheint, dass die OpenSSL-Erweiterung standardmäßig installiert ist.

Update :

Wenn Sie diese Erweiterung nicht haben, können Sie die Datei php.ini bearbeiten .

Aus der 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
quelle
wenn nicht, wie lautet die Antwort?
Braian Mellor
@BraianMellor In php.ini versuchen zu ändern ;extension=php_openssl.dllauf extension=php_openssl.dlloder vielleicht sucht Antwort auf simplemachines.org/community/index.php?topic=310264.0 Viel Glück!
Simhumileco
.dll unter Linux? Bist du sicher?
Braian Mellor
1
Meine Lösung war die Installation des openssl von apt-get. Beste!
Braian Mellor
1
@BraianMellor schreiben Sie die Antwort :)
simhumileco
1

Ich installierte OpenSSL 1.1.0fmit

# 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

Hoffe es hilft jemandem!

Braian Mellor
quelle