Istruzioni per l'installazione

Workerman è essenzialmente un pacchetto di codice PHP; se il tuo ambiente PHP è già configurato, puoi semplicemente scaricare il codice sorgente di Workerman o un demo per poterlo eseguire.

Installazione con Composer:

composer require workerman/workerman

Attenzione
Alcuni mirror di proxy composer potrebbero non essere completi; utilizza il comando composer config -g --unset repos.packagist per rimuovere il proxy.

Utenti Windows (da leggere)

A partire dalla versione workerman3.5.3, Workerman supporta sia i sistemi Windows che Linux.
Gli utenti Windows devono configurare le variabili d'ambiente PHP.

=== La seguente sezione si applica solo a Workerman su ambiente Linux; gli utenti Windows possono ignorarla ===

Controllo dell'ambiente di sistema Linux

Puoi utilizzare il seguente script per testare se l'ambiente PHP della tua macchina soddisfa i requisiti di esecuzione di Workerman.
curl -Ss https://www.workerman.net/check | php

Se lo script restituisce "ok" per tutti i controlli, significa che soddisfi i requisiti di Workerman e puoi scaricare un esempio direttamente dal sito ufficiale.

Se non restituisce "ok" per tutti i controlli, fai riferimento alla documentazione sottostante per installare le estensioni mancanti.

(Nota: lo script di controllo non verifica l'estensione event; se il numero di connessioni concorrenti del tuo business è superiore a 1024, è necessario installare l'estensione event e ottimizzare il kernel Linux. Consulta le seguenti istruzioni per installare l'estensione.)

Installazione delle estensioni mancanti in un ambiente PHP esistente

Installazione delle estensioni pcntl e posix:

Sistema CentOS
Se PHP è stato installato tramite yum, puoi eseguire il comando yum install php-process per installare le estensioni pcntl e posix.

Se l'installazione fallisce o PHP non è stato installato con yum, consulta la sezione Appendice - Installazione delle Estensioni metodo 3 per l'installazione da origine.

Sistema Debian/Ubuntu/macOS
Consulta la sezione Appendice - Installazione delle Estensioni metodo 3 per l'installazione da origine.

Installazione dell'estensione event:

Per supportare un numero maggiore di connessioni concorrenti, è necessario installare l'estensione event e ottimizzare il kernel Linux. Le istruzioni per l'installazione sono le seguenti:

Sistema CentOS

  1. Installa il pacchetto di dipendenze libevent-devel dell'estensione event, eseguendo il comando

    yum install libevent-devel -y
    # Se non riesci ad installarlo, prova a usare il seguente comando
    # yum install libevent2-devel -y
  2. Installa l'estensione event, eseguendo il comando
    (l'estensione event richiede PHP>=5.4)

    pecl install event

    Nota: Quando viene visualizzato il messaggio Include libevent OpenSSL support [yes] : inserisci no e premi invio; gli altri valori possono essere accettati premendo invio.

  3. Esegui php --ini per trovare e aprire il file php.ini, e aggiungi la seguente configurazione all'ultima riga

    extension=event.so

Installazione su sistemi Debian/Ubuntu

  1. Installa il pacchetto di dipendenze libevent-dev dell'estensione event, eseguendo il comando

    apt-get install libevent-dev -y
    # Se non riesci ad installarlo, prova il seguente comando
    # apt-get install libevent2-dev -y
  2. Installa l'estensione event, eseguendo il comando

    pecl install event

    Nota: Quando viene visualizzato il messaggio Include libevent OpenSSL support [yes] : inserisci no e premi invio; gli altri valori possono essere accettati premendo invio.

  3. Esegui php --ini per trovare e aprire il file php.ini, e aggiungi la seguente configurazione all'ultima riga

    extension=event.so

Guida all'installazione su sistema macOS

I sistemi macOS di solito vengono utilizzati come macchine di sviluppo, quindi non è necessario installare l'estensione event.

Installazione in un sistema completamente nuovo (Installazione completa di PHP + Estensioni)

Guida all'installazione su sistema CentOS

  1. Esegui il comando (questo passo include l'installazione del programma principale php-cli, oltre alle librerie pcntl, posix, libevent e git)

    yum install php-cli php-process git gcc php-devel php-pear libevent-devel -y
  2. Installa l'estensione event, eseguendo il comando
    (Nota: l'estensione event richiede PHP>=5.4)

    pecl install event

    Nota: Quando viene visualizzato il messaggio Include libevent OpenSSL support [yes] : inserisci no e premi invio; gli altri valori possono essere accettati premendo invio.

  3. Esegui php --ini per trovare e aprire il file php.ini, e aggiungi la seguente configurazione all'ultima riga

    extension=event.so
  4. Esegui il comando (questo passo scarica il programma principale Workerman da GitHub)

    git clone https://github.com/walkor/Workerman
  5. Fai riferimento alla sezione Guida Introduttiva - Esempio di Sviluppo Semplice per scrivere il file di ingresso. Puoi anche scaricare il demo preconfezionato dal sito ufficiale e eseguirlo.

Guida all'installazione su sistemi Debian/Ubuntu

  1. Esegui il comando (questo passo include l'installazione del programma principale php-cli, oltre alle librerie libevent e git)

    apt-get install php-cli git gcc php-pear php-dev libevent-dev -y
  2. Installa l'estensione event, eseguendo il comando
    (Nota: l'estensione event richiede PHP>=5.4)

    pecl install event

    Nota: Quando viene visualizzato il messaggio Include libevent OpenSSL support [yes] : inserisci no e premi invio; gli altri valori possono essere accettati premendo invio.

  3. Esegui php --ini per trovare e aprire il file php.ini, e aggiungi la seguente configurazione all'ultima riga

    extension=event.so
  4. Esegui il comando (questo passo scarica il programma principale Workerman da GitHub)

    git clone https://github.com/walkor/Workerman
  5. Fai riferimento alla sezione Guida Introduttiva - Esempio di Sviluppo Semplice per scrivere il file di ingresso. Puoi anche scaricare il demo preconfezionato dal sito ufficiale e eseguirlo.

Guida all'installazione su sistema macOS

Metodo 1: I sistemi macOS includono PHP Cli, ma potrebbero mancare l'estensione pcntl.

  1. Fai riferimento alla sezione Appendice - Installazione delle Estensioni metodo 3 per compilare e installare l'estensione pcntl.

  2. Fai riferimento alla sezione Appendice - Installazione delle Estensioni metodo 4 per installare l'estensione event utilizzando phpize (puoi saltare questo passaggio se sei su una macchina di sviluppo).

  3. Scarica il programma principale Workerman da https://www.workerman.net/download/workermanzip o visita il sito ufficiale per scaricare un esempio da eseguire.

Metodo 2: Installa PHP e le estensioni corrispondenti usando il comando brew

  1. Esegui il comando per installare lo strumento brew (se è già stato installato, puoi saltare questo passaggio)

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  2. Esegui il comando per installare php

    brew install php
  3. Esegui il comando per installare l'estensione event

    brew install php-event    
  4. Vai al sito ufficiale per scaricare un esempio da eseguire.

Descrizione dell'estensione Event

L'estensione Event non è obbligatoria; se il tuo business richiede di supportare più di 1000 connessioni concorrenti, è consigliato installare l'estensione Event, che può gestire un gran numero di connessioni. Se le connessioni concorrenti del tuo business sono relativamente basse, ad esempio inferiori a 1000, allora l'installazione non è necessaria.

Domande frequenti

  1. Se ricevi l'errore checking for include/event2/event.h... not found, prova prima a rimuovere la libreria libevent-dev(el) e installa libevent2-dev(el).
    Sistema CentOS: yum remove libevent-devel && yum install libevent2-devel
    Sistema Debian/Ubuntu: apt-get remove libevent-dev && apt-get install libevent2-dev

  2. Se ricevi l'errore NOTICE: PHP message: PHP Warning: PHP Startup: Unable to load dynamic library '.../event.so' - ..../event.so: undefined symbol: php_sockets_le_socket in Unknown on line 0.
    Cambia l'ordine di caricamento di event.so e socket.so; quindi, nel file php.ini, scrivi extension=socket.so prima di extension=event.so in modo che l'estensione socket venga caricata per prima.