Ответ 1
Вы можете добиться толчка внутри PHP, но это не будет наиболее эффективное решение, потому что для достижения успеха вам необходимо поддерживать длительные соединения между вашим клиентом и вашим сервером (соединения HTTP или WebSocket).
См:
- Длинные опросы/HTTP-потоки Общие вопросы
- phpwebsocket
- php-websocket на github
- Ratchet
- как реализовать комету в PHP - часто связан с руководством
Общая передовая практика при создании инфраструктуры реального времени заключалась в том, чтобы отделить решение push от вашего веб-приложения (Примечание: node.js и socket.io немного изменили это, но лично я все еще думаю, что он должен быть развязан), Но, полагая, что последнее по-прежнему является лучшим решением, вам нужно будет написать/установить/установить это push-решение. Развязка также означает, что технология не должна быть PHP, но вы можете получить доступ/использовать ее с PHP. Может быть, немного переборщить? И особенно, если у вас мало пользователей на вашем сайте?
Для простоты я бы порекомендовал использовать стороннюю размещенную службу. Я работаю в одной такой компании под названием Pusher. Использование такой службы, как наша, позволяет удалить необходимость установки и поддержки части приложения в реальном времени. Это также упрощает добавление функции push, которую вы ищете. Все, что вам нужно сделать, это добавить несколько строк кода PHP в существующее приложение, чтобы вызвать push-уведомления и добавить несколько строк JavaScript в ваш интерфейс.
Ресурсы
- Наиболее часто используется библиотека PHP для этого: https://github.com/pusher/pusher-php-server
- Руководство по быстрому запуску
Если вы хотите исследовать альтернативы или некоторые из технологий, упомянутых выше, я поддерживаю список технологий реального времени который вас также может заинтересовать.