https://reactphp.org/
Проблемы будут с демонами, в общем суть в том что надо отдельно подымать процесс на php который будет слушать сокет и отправлять ответ, php для этого слабо подходит, будет падать и т.п. тут спасет supervisord
Но не советую вообще с этим связываться, рекомендую:
https://github.com/centrifugal/centrifugo там сервер на go, и уже готовые библиотеки для js, все что тебе нужно идет из коробки.
И получать все через сокеты смысла нет. По факту их есть смысл использовать только для для доставки сообщений/статусов, а создавать фото/комнаты/новый сообщения через rest api. Ну то есть человек создал сообщений, оно ушло в restapi, в restapi сохраянем в бд и шлем сообщение например в centrifugo чтобы она через сокет разослала это сообщение всем заинтересованным получателям. Если будешь слать все через сокеты, то получиш кучу гемморая. Если все черз сокеты, то лучше уж брать сразу apolo в связке с graphql либо meteor