2

I have a project that I'm building and testing on travis-ci for 3 primary PHP environments that I deploy into (7.0, 5.5.9, and 5.3.3).

This builds and tests perfectly fine in 7.0.8 and 5.5.9, but for 5.3.3 I get this error:

  [Composer\Exception\NoSslException]                                          
  The openssl extension is required for SSL/TLS protection but is not availab  
  le. If you can not enable the openssl extension, you can disable this error  
  , at your own risk, by setting the 'disable-tls' option to true.

I know from this answer and the obvious advice of the error message that there's a workaround, but I really don't want to extend that insecurity to the rest of my environments.

At first I thought composer must require a higher version of PHP to work correctly, but according to their composer.json, they only require 5.3.2

Then I notice when adding php -i to my install script that it's not compiled in the environment with the configure script, but it is compiled in the newer environments.

In 7.0:

Configure Command =>  './configure'
...
'--with-openssl'
...
Phar
...
Native OpenSSL support => enabled

In 5.3.3:

Phar
...
OpenSSL support => disabled (install ext/openssl)

I see from their cookbook that you can install PECL extensions, but I don't think the openssl extension is available through PECL.

How do I get this working?

Community
  • 1
  • 1
Jeff Puckett
  • 37,464
  • 17
  • 118
  • 167

0 Answers0