PHP curl занимает так много времени, чтобы выполнить, и в конце концов он ничего не делает на сервере de nodejs - PullRequest
0 голосов
/ 29 декабря 2018

Я настраиваю новый сервер уведомлений с помощью nodejs и socket.io.Сервер, на котором он работает, с почтальоном я могу отправить запрос POST и действительно отправляет уведомление, но с PHP требуется целую вечность, чтобы отправить POST с помощью curl, и он на самом деле не работает

Сервер nodejs работает на debian9, я получил сертификат SSL от Давайте зашифруем, поэтому он аутентифицирован, как я уже говорил с почтальоном (https://www.getpostman.com/), я могу сделать запрос POST и работает.Я отправляю заголовки с секретным ключом и телом с данными к уведомлению

#!/usr/bin/env node

var fs = require('fs');

const express = require('express');
const app = express();
const bodyParser = require('body-parser');
const port = process.env.PORT || 49152;
const notificationSecret = process.env.NOTIFICATION_SECRET; 
var server;

if(process.env.SSL_KEY && process.env.SSL_CERT) {
    var options = {
      key: fs.readFileSync(process.env.SSL_KEY_PATH),
      cert: fs.readFileSync(process.env.SSL_CERT_PATH)
    };
    server = require('https').createServer(options, app);
} else {
    console.log("Error creating the server, missing KEY OR CERT");
}


const io = require('socket.io')(server);


server.listen(port, () => console.log('Server listening at port %d', port));

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
    extended: true
}));

app.use(express.static(__dirname + '/public'));

app.post('/send', (req, res) => {

... больше, но не важно

и PHP

$data = array("notification" => "IF THIS WORKS", "channel" => "myChannel"); 

$payload = json_encode($data);

// Prepare new cURL resource
$ch = curl_init('IP/send');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLINFO_HEADER_OUT, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);

// Set HTTP Header for POST request 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'notification_secret: ')
);

// Submit the POST request
$result = curl_exec($ch);

// Close cURL session handle
curl_close($ch);

Всеместь идеи, что я могу попытаться это исправить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...