I have created below docker-composer yml file to create environment for connect php to socket server.
services:
websocket-server:
build: .
command: php -S 127.0.0.1:1000 -t /var/www/html/websocket
volumes:
- ./src:/var/www/html
ports:
- 1000:1000
php-tutorial:
build: .
volumes:
- ./src:/var/www/html
ports:
- 7000:80
My Dockerfile looks like
FROM php:8.0-apache
WORKDIR /var/www/html
RUN apt-get update -y && apt-get install -y telnet libmariadb-dev
RUN docker-php-ext-install mysqli sockets
After buid docker container, both container running well , in websocket-server I'm getting below log
[Fri Feb 3 05:12:43 2023] PHP 8.0.27 Development Server (http://127.0.0.1:1000) started
Now I have written a php code to connect socket
<?php
$socket = socket_create(AF_INET, SOCK_STREAM, 0);
if (socket_connect($socket, '127.0.0.1', 1000) === false) {
echo "Unable to connect to server\n";
exit;
}
socket_write($socket, "Hello, server!");
$response = socket_read($socket, 1024);
echo "Response from server: $response\n";
socket_close($socket);
After run in browser , I'm getting below Warning
Warning: socket_connect(): unable to connect [111]: Connection refused in /var/www/html/index.php on line 4
Unable to connect to server
I am unable to find the solution.