Как установить Ratchet WebSockets для PHP на MAMP или XAMPP?

Я пытаюсь интегрировать чат в реальном времени в свое приложение php/backbone, и я подумал, что буду использовать храповик? Что мне нужно сделать, чтобы установить Ratchet в MAMP или XAMPP? Единственная документация, представленная на их веб-сайте, - это использование CURL, но я не знаю, как установить необходимые ресурсы для локального хоста, и я не знаю, куда эти ресурсы нужно добавить. Любой совет будет принят во внимание.


person Jason Biondo    schedule 08.03.2013    source источник
comment
Ratchet может прослушивать любой порт. Но если вы хотите запустить его на том же порту, что и ваш веб-сервер (а вы это делаете), это означает, что вы сможете насладиться удивительными прокси-серверами! Почему? Потому что веб-сервер уже прослушивает соответствующий порт. Большая проблема заключается в том, что php по своей природе зависит от веб-сервера, развернутого перед ним. Тем не менее, вам не нужен работающий веб-сервер, чтобы запустить Ratchet. Вы можете отлично протестировать сервер Ratchet, работающий на любом порту, который вам нравится. Просто помните, что для использования в продакшене вам понадобится прокси-сервер, так как ws:// и wss:// необходимы для работы на 80/443.   -  person rdlowrey    schedule 08.03.2013


Ответы (2)


Вы должны установить composer.phar в корневой каталог вашего проекта.

Если вы используете Linux, вы можете просто запустить команду curl -s https://getcomposer.org/installer | php, в противном случае вы можете использовать установщик Windows с страницы загрузки curl.

После того, как вы установили композитор, вам нужно создать файл «composer.json», в который вы добавите все зависимости, необходимые для вашего проекта. Если вам нужен только Ratchet, просто вставьте это в свой файл json:

{
    "require": {
        "cboden/Ratchet": "0.2.*"
    }
}

Как только вы это сделаете, вернитесь к своему терминалу и выполните команду php composer.phar install.

Это установит Ratchet и его зависимости во вновь созданную папку «vendor».

Теперь вы можете включить Rathet в свой php-файл следующим образом:

require __DIR__ . '/vendor/autoload.php';

Это все, что я думаю!

person Ingro    schedule 08.03.2013
comment
Я скачал вручную composer.phar . Я нахожусь на веб-сервере, который не позволяет запустить командную строку. Какие еще есть способы использовать Ratchet? - person Pacerier; 03.05.2014
comment
Вы должны запустить composer install локально, а затем загрузить полученную папку поставщика на удаленный хост. - person Ingro; 03.05.2014
comment
Да, но после того, как я получил все файлы локально, мне все еще нужно запустить сервер веб-сокетов на общедоступном сервере. Как запустить сервер без доступа к терминалу? - person Pacerier; 03.05.2014
comment
Вы можете просто поместить необходимые команды в файл php и перейти на эту страницу с помощью браузера или cURL с вашего компьютера, в любом случае, если сервер веб-сокета выйдет из строя, вам придется снова запустить его вручную, так что это идеально подходит только для тестирования или для учебных целях, я думаю, для реального продукта вам понадобится более управляемый хостинг. - person Ingro; 04.05.2014
comment
Это невозможно, локальные команды, конечно, отключены, если они вызываются через php. - person Pacerier; 04.05.2014

cURL включен по умолчанию в MAMP и XAMPP, а MAMP и XAMPP — это просто веб-сервер + сервер базы данных, обслуживающий PHP. Вы можете просто установить Ratchet WebSockets так же, как вы развертываете веб-сервер.

Но убедитесь, что вы вызываете правильный исполняемый файл php, а не тот, который может быть установлен на вашем компьютере/сервере.

См.: http://socketo.me/docs/install.

person Raptor    schedule 08.03.2013
comment
хорошо, я понимаю, что cURL включен по умолчанию, но значит ли это, что я просто открываю файл php, добавляю curl -s getcomposer.org/installer | php, чтобы получить композитор, а затем запустить страницу? Получит ли это нужные мне зависимости. Я действительно ничего не знаю о таких вещах, и мне нужна рука. Я установил это через терминал на своем веб-сервере, но я не знаю, как это сделать локально. - person Jason Biondo; 08.03.2013