curl — PHP-FPM обслуживается Nginx: время ожидания шлюза 504 — nginx

У меня есть скрипт push-уведомлений PHP Android. когда я запускаю скрипт, я получаю следующий ответ «504 Gateway Time-out nginx» в моем браузере.
На моем сервере в общем обзоре журнала я получаю следующую ошибку:

Ошибка: 504, сообщение: GET /gcm_test.php HTTP / 1.1, источник: nginx SSL
доступ

На моем сервере в proxy_error_log я получаю следующую ошибку:

2016/07/25 08:18:19 [ошибка] 23882 # 0: * 4375 истекло время ожидания восходящего потока (110:
Превышено время ожидания соединения) при чтении заголовка ответа из восходящего потока,
клиент: 12.34.567.891, сервер: website.com, запрос: «GET
/gcm_test.php HTTP / 1.1 «, upstream:
«FastCGI: // Unix: ///var/www/vhosts/system/website.com/php-fpm.sock»,
хост: «www.website.com»

PHP-скрипт Android Push:

<?php
// Replace with the real server API key from Google APIs
$apiKey = "my apikey";

// Replace with the real client registration IDs
$registrationIDs = array("red id1", "reg id2");

// Message to be sent
$message = "Your message e.g. the title of post";

// Set POST variables
$url = 'https://gcm-http.googleapis.com/gcm/send';

$fields = array(
'registration_ids' => $registrationIDs,
'data' => array( "message" => $message ),
);
$headers = array(
'Authorization: key=' . $apiKey,
'Content-Type: application/json'
);

// Open connection
$ch = curl_init();

// Set the URL, number of POST vars, POST data
curl_setopt( $ch, CURLOPT_URL, $url);
curl_setopt( $ch, CURLOPT_POST, true);
curl_setopt( $ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
//curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields));

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode( $fields));

// Execute post
$result = curl_exec($ch);

// Close connection
curl_close($ch);
// print the result if you really need to print else neglate this
echo $result;
?>

Если я заменю строку «$ result = curl_exec ($ ch);» с «echo» Конец скрипта «;» Я не получаю ошибок, и результат «Конец сценария».
Похоже, проблема в строке «$ result = curl_exec ($ ch);»

Я также попробовал следующее, PLESK nginx 504 ошибка: время ожидания шлюза без удачи

На моем сервере я использую PHP7.0.4 как приложение FPM, обслуживаемое nginx

У кого-нибудь есть идеи?
Спасибо!

1

Решение

Похоже, вам нужно увеличить fastcgi_read_timeout в вашей конфигурации nginx.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]