У меня странное поведение file_get_contents. Мы за прокси-сервером, поэтому мне нужно было установить контекст file_get_contents. Странно то, что на моем ПК он работает нормально, но на другом ПК или в другом месте он не будет работать, запустив таймаут max_execution_time.file_get_contents failed w/empty exception
if ($requestType == 'GET') {
$context = [
'http' => [
'method' => 'GET',
'header' => "Authorization: " . dbQueryHelper::getApiKey() . "\r\n" . "Content-Type: application/x-www-form-urlencoded\r\n",
'proxy' => getenv ('PROXY'),
'request_fulluri' => true
],
'ssl' => array(
'SNI_enabled' => false, // Disable SNI for https over http proxies
'proxy' => getenv('PROXY'),
'request_fulluri' => true,
"verify_peer"=>false,
"verify_peer_name"=>false,
)
];
}
$context = stream_context_create ($context);
$dataraw = [
'email' => getenv('DEVMAIL'),
'userEmail' => $user->getNickname(),
'production' => getenv('PROD')
];
$data = http_build_query ($dataraw);
$context = dbQueryHelper::getContext ('GET'); // this gets the context from above
$result = file_get_contents (getenv('RESTAPIURL') . '/getPernrByEmail?' . $data, false, $context);
$result = json_decode ($result, true);
Я также не получаю сообщение об ошибке на других компьютерах, только
Warning: file_get_contents(...): in C:\trainingplan\lib\common.php on line 79
Я думаю, что самое странное, что предупреждение не содержит ошибки ... Мы не думаем, что может быть прокси, потому что я использую один и тот же прокси-сервер везде и могу также использовать разные прокси-серверы - такое же поведение, на моем ПК это работает, а на других нет. Я также попытался отключить брандмауэр и UAC и другие службы безопасности на других ПК, также не работает ... Мы не знаем, что может быть основной причиной.
У вас есть идеи для меня?