How can PHP and NodeJS be integrated to allow users to participate in a real-time chat?

To integrate PHP and NodeJS for real-time chat, we can use NodeJS to handle the real-time communication between users while PHP can be used for other backend functionalities like user authentication and database operations. One way to achieve this is by using NodeJS with Socket.io to create a WebSocket server for real-time communication, and PHP can interact with this server through HTTP requests.

// PHP code to send a message to the NodeJS WebSocket server
$ch = curl_init();
$data = array('message' => 'Hello from PHP!');
curl_setopt($ch, CURLOPT_URL, 'http://nodejs-server:3000/send-message');
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
echo $response;