Чем WebSocket в php отличается от того же в js?
Вопрос задан крайне некорректно. WebSocket - это протокол передачи данных, который работает поверх TCP. Есть WS-клиент, и есть WS-сервер, к которому подключаются клиенты. 
Далее, по теме вопроса: Клиент можно написать на чём угодно, хоть на php (при большом желании), хоть на js (на js на это уходит пару строк кода). Так что можно сказать одно - отличие разве что в реализации, ну и осмысленностью действий, ибо никогда не сталкивался с необходимостью писать клиент на PHP. 
И да, на последок: писать WS-сервер на php - заведомо гиблое дело, сам с этим сталкивался. Пришлось в итоге искать альтернативы в виде Python'a и NoneJS.
Поправьте, если где ошибся.
UPD:
Ссылки:
https://ru.wikipedia.org/wiki/WebSocket
https://learn.javascript.ru/websockets
https://habrahabr.ru/post/209864/
https://github.com/varspool/Wrench
Как правильно заметили WebSocket это протокол (https://ru.wikipedia.org/wiki/WebSocket) сейчас используемый как  RFC 6455, поэтому как ответили выше -- ничем не отличается.
Вы наверное, имели в виду реализацию Socket сервера? Расскажу о нём.
На PHP сокет-сервер поднимал в виде, как самодельных велосипедов, так и готовых библиотек (тут, тут, тут), но не получал легкости в использовании, пока не прозрел и не подружился с NodeJS.
NodeJS имеет легко подключаемую библиотеку (ссылка) которая позволяет поднять сокет сервер в несколько строчек JS кода. Поэтому рекомендую использовать NodeJS, тем более, что сейчас легко использовать виртуальные машины и поднимать любое разумное количество серверов с разными платформами.