Instalace iPublikuj/websockets
- pista5
- Člen | 72
Zdravim,
mam problem ihned pri instalaci… nize je obsah services.neon
Obdrzim chybu:
Nette\DI\InvalidConfigurationException
Unexpected item ‚webSockets › clients‘
Dekuji za radu.
extensions:
- Contributte\FormMultiplier\DI\MultiplierExtension
dependentSelectBox: NasExt\Forms\DependentExtension
webSockets: IPub\WebSockets\DI\WebSocketsExtension
webSockets:
clients:
storage:
driver: @clients.driver.memory
ttl: 0
server:
httpHost: localhost
port: 8080
address: 0.0.0.0
routes: []
mapping: []
- pista5
- Člen | 72
Prima… jsem ale v tomto zacatecnik a ted jeste resim, jak server spustit?
Jak si mam poradit s timto? Kam toto umistim? Diky
$configurator = new \Nette\Configurator;
$container = $configurator->createContainer();
$container->getByType(\IPub\WebSockets\Server\Server::class)->run();
- nightfish
- Člen | 517
@pista5
Záleží na tom, jestli tvá aplikace používá symfony/console
pro definici a spouštění konzolových příkazů – pokud ano, tak
v konzoli z rootu projektu spustíš
php web/index.php ipub:websockets:start
(kde
web/index.php
je cesta k souboru index.php
, který
bys asi už měl mít).
Pokud symfony/console
nemáš nebo nepoužíváš, tak je
potřeba vytvořit nový soubor, přes který budeš server spouštět. Může
to být třeba <project root>/bin/run-server.php
, jehož
obsahem bude kód z https://github.com/…Bootstrap.md,
upravený na míru tvému projektu (primárně se jedná o názvy
adresářů – někdo má aplikační kód v app
, jiný v
src
; obdobně pro document_root, který bývá třeba ve
www
, web
nebo public
).
Následně pak můžeš server spustit v konzoli z rootu projektu
php bin/run-server.php
.
- pista5
- Člen | 72
Diky moc za objasneni…
Po spusteni pomoci php bin/run-server.php jsem skoncil na nize uvedene chybe. Myslim, ze router mam nadefinovany dobre:
PHP Warning: Undefined array key "filterTable" in D:\localhost_html\www9\vendor\ipub\websockets\src\Router\Route.php on line 610
PHP Fatal error: Uncaught TypeError: array_flip(): Argument #1 ($array) must be of type array, null given in D:\localhost_html\www9\vendor\ipub\websockets\src\Router\Route.php:610
webSockets:
storage:
clients:
driver: @clients.driver.memory
ttl: 0
server:
httpHost: localhost
port: 8080
address: 0.0.0.0
routes:
'/chat/<room>' : 'Chat:'
mapping:
*: App\Controllers\*Controller
- nightfish
- Člen | 517
@pista5 Zkus si cvičně oba výskyty
$meta['filterTable2'] = $meta[self::FILTER_TABLE] === [] ? null : array_flip($meta[self::FILTER_TABLE]);
v ipublikuj/websockets/src/Router/Route.php
nahradit za
$meta['filterTable2'] = ($meta[self::FILTER_TABLE] ?? []) === [] ? null : array_flip($meta[self::FILTER_TABLE]);
.
- pista5
- Člen | 72
Narazil jsem na dalsi problem… potreboval bych to rozbehnout na klasickem sdilenem webhostingu, ale ipublikuj/websockets-zmq vyzaduje knihovnu ext-zmq, ktera na webhostingu samozrejme neni (resp. nevim o zadnem, kde by byla).
Je prosim nejaka i jina moznost, jak notifikace rozbehnout na obycejnem webhostingu?