22

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?

  • 2
    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 Nov 9 '16 at 9:41
29

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.

  • A personal build was forgotten in my system... Thanks! – Tasso Evangelista Dec 2 '13 at 12:02
  • 15
    Or call the function in a terminal php -i | grep -i openssl – Overclover Aug 17 '16 at 19:49
  • Quick oneliner to list all modules currently enabled in your PHP binary: php -i | grep enabled – JulioHM Mar 6 at 16:16
11

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

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!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.