I\'m working on setting up credit card processing and needed to use a workaround for CURL. The following code worked fine when I was using the test server (which wasn\'t cal
Just add two lines in your php.ini file.
extension=php_openssl.dll
allow_url_include = On
its working for me.
In my case, the issue was due to WAMP using a different php.ini for CLI than Apache, so your settings made through the WAMP menu don't apply to CLI. Just modify the CLI php.ini and it works.
Sometimes a server will choose not to respond based on what it sees or doesn't see in the http request headers (such as an appropriate user agent). If you can connect with a browser, grab the headers it sends and mimic them in your stream context.
I had the same error. Setting allow_url_include = On
in php.ini
fixed it for me.
To allow https wrapper:
php_openssl
extension must exist and be enabled allow_url_fopen
must be set to on
In the php.ini file you should add this lines if not exists:
extension=php_openssl.dll
allow_url_fopen = On
Try the following script to see if there is an https wrapper available for your php scripts.
$w = stream_get_wrappers();
echo 'openssl: ', extension_loaded ('openssl') ? 'yes':'no', "\n";
echo 'http wrapper: ', in_array('http', $w) ? 'yes':'no', "\n";
echo 'https wrapper: ', in_array('https', $w) ? 'yes':'no', "\n";
echo 'wrappers: ', var_export($w);
the output should be something like
openssl: yes
http wrapper: yes
https wrapper: yes
wrappers: array(11) {
[...]
}