34

I know that OpenSSL extension is in PHP source, but I can't enable it when I perform apt-get install php5. There is not even a apt-get install php5-openssl. How I must proceed?

1
  • 4
    I know this post is old, just some general info. By default, PHP's packages are distributed with --with-openssl=[defaultpath]. It means you only have to install openssl (or any other variant) e.g. sudo apt-get install openssl (also check which version of openssl to install due to heartbleed, e.g. sudo apt-cache policy openssl. To check wether PHP is enabled with openssl just type php -m | grep openssl and php -i | grep OpenSSL.
    – dbf
    Commented Nov 9, 2016 at 9:41

3 Answers 3

39

I think SSL support doesn't depend on an extension, it's already built into Ubuntu's PHP. Try creating a PHP file in your web server with this content:

<?php phpinfo() ?>

then access it in a browser (http://<server>/<file>.php). You should see:

enter image description here

and

enter image description here

I have only these PHP packages installed: libapache2-mod-php5, php5-cli, php5-common, php5-gd, php5-mcrypt, php5-mysql.

3
  • A personal build was forgotten in my system... Thanks! Commented Dec 2, 2013 at 12:02
  • 23
    Or call the function in a terminal php -i | grep -i openssl
    – Overclover
    Commented Aug 17, 2016 at 19:49
  • 2
    Quick oneliner to list all modules currently enabled in your PHP binary: php -i | grep enabled
    – JulioHM
    Commented Mar 6, 2019 at 16:16
28

Try:

php -i | grep -i openssl

If you have the OpenSSL extension installed, you should see something like this:

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

It seems that the OpenSSL extension is installed by default.

Update:

If you don't have this extension, you can edit php.ini file.

From 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.
;
6
  • if not what's the answer? Commented Oct 30, 2017 at 14:43
  • @BraianMellor In php.ini try to change ;extension=php_openssl.dll to extension=php_openssl.dll or maybe look for answer at simplemachines.org/community/index.php?topic=310264.0 Good luck! Commented Oct 30, 2017 at 18:46
  • .dll on Linux? Are you sure? Commented Oct 30, 2017 at 18:49
  • 1
    My solution was installing the openssl by apt-get. Best! Commented Oct 30, 2017 at 23:37
  • 1
    @BraianMellor write the answer :) Commented Oct 31, 2017 at 7:02
3

I installed OpenSSL 1.1.0f using

# 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

Hope it help someone!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .