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?