stream_context_create无法使用https

时间:2017-08-01 05:06:47

标签: php api magento2

我在rest api方法中使用magento2 api的自定义代码。我的网站使用SSL保护。我的restapi正常使用http和而不是使用https ,这是我的代码..

<?php
$base_url="http://mysite/";
$url = $base_url.'index.php/rest/V1/integration/admin/token';
$body = '{"username":"ApiUser", "password":"ApiPass"}';
$header = 'Content-type: application/json';
$options = [    'method' => 'POST',
                'content' => $body,
                'header' => $header
           ];
$context = stream_context_create(['http' => $options]);
$token = json_decode(file_get_contents($url, false, $context));

// Some settings

$header = 'Authorization: Bearer ' . $token . "\r\n"
    . 'Content-type: application/json';
$options = [    'method' => 'GET',
                'content' => $body,
                'header' => $header
           ];
$context = stream_context_create(['http' => $options]);

$sku="1234";
$url = $base_url.'index.php/rest/V1/products/'.$sku;
$json_contents = file_get_contents($url, false, $context) . "\n";
$result = json_decode($json_contents);
echo json_encode($result);
?>

我使用了很多https编码,但是没有人正在使用它返回500错误而我搜索我有一段代码来检查状态

$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);

它返回,

openssl: yes
http wrapper: yes
https wrapper: yes
wrappers: array(11) {
  [...]
}

请有人帮我解决这个问题。 提前谢谢。

0 个答案:

没有答案