Ekstensi PHP OpenSSL memiliki paket?

22

Saya tahu bahwa ekstensi OpenSSL adalah dalam sumber PHP, tetapi saya tidak dapat mengaktifkannya saat melakukan apt-get install php5. Bahkan tidak ada apt-get install php5-openssl. Bagaimana saya harus melanjutkan?

Tasso Evangelista
sumber
2
Saya tahu posting ini sudah tua, hanya beberapa info umum. Secara default, paket PHP didistribusikan bersama --with-openssl=[defaultpath]. Ini berarti Anda hanya perlu menginstal openssl (atau varian lain) misalnya sudo apt-get install openssl (juga memeriksa versi openssl yang akan diinstal karena patah hati , mis sudo apt-cache policy openssl. Untuk memeriksa apakah PHP diaktifkan dengan jenis openssl saja php -m | grep openssldan php -i | grep OpenSSL.
dbf

Jawaban:

29

Saya pikir dukungan SSL tidak tergantung pada ekstensi, itu sudah dibangun ke dalam PHP Ubuntu. Coba buat file PHP di server web Anda dengan konten ini:

<?php phpinfo() ?>

lalu akses di browser ( http://<server>/<file>.php). Anda harus melihat:

masukkan deskripsi gambar di sini

dan

masukkan deskripsi gambar di sini

Saya hanya menginstal paket-paket PHP ini: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.

Eric Carvalho
sumber
Bangunan pribadi dilupakan dalam sistem saya ... Terima kasih!
Tasso Evangelista
15
Atau hubungi fungsi di terminalphp -i | grep -i openssl
Overclover
Oneliner cepat untuk mendaftar semua modul yang saat ini diaktifkan di biner PHP Anda:php -i | grep enabled
JulioHM
11

Coba :

php -i | grep -i openssl

Jika Anda menginstal ekstensi OpenSSL, Anda akan melihat sesuatu seperti ini:

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

Tampaknya ekstensi OpenSSL diinstal secara default.

Perbarui :

Jika Anda tidak memiliki ekstensi ini, Anda dapat mengedit file php.ini .

Dari 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
sumber
jika tidak apa jawabannya?
Braian Mellor
@BraianMellor Dalam php.ini mencoba untuk perubahan ;extension=php_openssl.dllke extension=php_openssl.dllatau mungkin mencari jawaban di simplemachines.org/community/index.php?topic=310264.0 Good luck!
simhumileco
.dll di Linux? Apakah kamu yakin
Braian Mellor
1
Solusi saya adalah menginstal openssl dengan apt-get. Terbaik!
Braian Mellor
1
@BraianMellor tulis jawabannya :)
simhumileco
1

Saya menginstal OpenSSL 1.1.0fmenggunakan

# 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

Semoga ini bisa membantu seseorang!

Braian Mellor
sumber