我在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) {
[...]
}
请有人帮我解决这个问题。 提前谢谢。