Всем доброго вечера! А вот у меня он совсем не добрый!
Есть у меня консольная команда на ларе, и вот handle:
public function handle()
{
$ws_worker = new Worker("websocket://...:8080");
$ws_worker->count = 4;
$this->clients = new \SplObjectStorage();
$ws_worker->onWorkerStart = function ($ws_worker) {};
$ws_worker->onConnect = function ($connection) {};
$ws_worker->onMessage = function ($connection, $data_request) {};
$ws_worker->onClose = function ($connection) {};
Worker::runAll();
}
Запускаю команду на дебаге (на локальном сервере не винде)...все ок...все супер...
НО...Запускаю уже на продакшене (ubuntu), тут ошибка, мол нужен еще параметр, команда не определена (именно workerman ругается):
Что мне делать? Пробовал через лару прописывать дополнительные поля в параметры команды:
protected $signature = 'vklike:listen {mode}';
Бесполезно...ничего не работает...но выход был найден...
Внутри handle прописать:
public function handle()
{
global $argv;
$argv[1] = 'start';
$ws_worker = new Worker("websocket://...:8080");
$ws_worker->count = 4;
$this->clients = new \SplObjectStorage();
$ws_worker->onWorkerStart = function ($ws_worker) {};
$ws_worker->onConnect = function ($connection) {};
$ws_worker->onMessage = function ($connection, $data_request) {};
$ws_worker->onClose = function ($connection) {};
Worker::runAll();
}
Все ок, запускается, но странно очень себя ведет. Будто для каждого соединения создается отдельный слушатель сокетов...
На дебаге все как часы...все работает....
Помогите пожалуйста...