31

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?

Tasso Evangelista
  • 538
  • 1
  • 6
  • 10
  • 3
    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](http://heartbleed.com), 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 09 '16 at 09:41

3 Answers3

37

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.

Eric Carvalho
  • 53,609
  • 102
  • 137
  • 162
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.
;
simhumileco
  • 641
  • 1
  • 10
  • 16
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!