Per https://secure.php.net/manual/en/migration56.incompatible.php#migration5..., as of PHP 5.6, OpenSSL verifies SSL certificates by default. This can cause "Error opening socket" errors when using Background Process, caused by underlying (but muted) errors like:
stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
I observed this on a host with an SSL certificate that is widely accepted as valid by major browsers so the problem is not limited to truly invalid certificates. The problem does not exist on PHP 5.5.
| Comment | File | Size | Author |
|---|---|---|---|
| #4 | background_process-no-verify-cert-2670068-2-do-not-test.patch | 1.88 KB | reinier-v |
| #2 | background_process-no-verify-cert-2670068-1-do-not-test.patch | 1.58 KB | jdleonard |
Comments
Comment #2
jdleonardThe attached patch blindly disables SSL cert verification. A RTBC patch would probably provide a setting to toggle this behavior.
Comment #3
jdleonardComment #4
reinier-v commentedHere's another patch, providing the toggle in the most central way (background_process_http_request()) and providing configuration.
Comment #5
amme commentedpatch works for me.
Comment #6
amme commentedComment #7
reinier-v commented@gielfeldt, could you apply this on the 1.x branch and release it ?
Thanks.
Comment #8
alexdmccabeJust wanted to add that the patch in #4 worked for me as well.
Comment #10
gielfeldt commented