> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Iniziare su Square Cloud con PHP

> Scopri come iniziare su Square Cloud con PHP

## 🚀 Introduzione

* Prima di iniziare, assicurati che PHP sia installato sul tuo sistema. Se non lo hai ancora, puoi scaricarlo dal [sito ufficiale di PHP](https://www.php.net/).
* Successivamente, dovrai creare un account su Square Cloud, operazione che puoi effettuare tramite la [pagina di accesso](https://squarecloud.app/it/signup). Puoi utilizzare la tua email, GitHub o entrambi per creare l'account.
* Infine, devi avere un piano a pagamento attivo sul tuo account. Puoi consultare i nostri piani e acquistarne uno in base alle tue esigenze [qui](https://squarecloud.app/it/pricing).

## ⚙️ Configurazione del file squarecloud.app

<Note>
  Se stai caricando la tua applicazione tramite il sito web di Square Cloud, puoi ignorare questa sezione. Il sito crea automaticamente il file di configurazione `squarecloud.app` per te.
</Note>

<Card title="Scopri di più: come creare il file di configurazione per Square Cloud." icon="link" href="https://docs.squarecloud.app/it/getting-started/config-file">
  Il file squarecloud.app è un file di configurazione che verrà utilizzato per
  configurare la tua applicazione; servirà a definire il nome, la descrizione,
  la versione, il file principale, tra le altre cose.
</Card>

## 📄 File richiesti

* index.php (Esempio di file principale).
* `composer.json` (File delle dipendenze *opzionale*).
* [squarecloud.app](https://docs.squarecloud.app/it/getting-started/config-file) (file contenente la configurazione di Square Cloud).

## ▶️ Come avviare la tua applicazione

* Se il campo `START` non è definito nel file di configurazione, verrà avviato un server PHP locale con il comando `php -S 0.0.0.0:80`. Se il campo `START` è definito, il valore in esso contenuto verrà eseguito direttamente. Per maggiori informazioni sui parametri del file di configurazione, visita [parametri di configurazione](https://docs.squarecloud.app/it/getting-started/config-file#configuration-parameters).

* Se il file `composer.json` esiste, tutte le dipendenze verranno installate utilizzando il comando `php composer.phar install`.

## PHP con Swoole

* Swoole è uno strumento che migliora le prestazioni standard di PHP consentendo al webserver di gestire più richieste in modo asincrono.

* Con questo strumento, puoi creare microservizi, websocket, code in background, tra gli altri. Ti permette inoltre di eseguire eventi proprio come fa JavaScript.

* È inoltre importante ricordare che Swoole è compatibile con altri framework PHP. Un buon esempio di framework PHP è Laravel, compatibile con Swoole grazie a Octane.

* Puoi utilizzarlo al posto del server PHP standard definendo il tuo comando START personalizzato. Esempio:

```bash theme={null}
npm run build && composer install --no-interaction --prefer-dist --optimize-autoloader && php artisan optimize && php artisan migrate --force && php -v && php artisan octane:start --host=0.0.0.0 --port=80 --workers=4 --task-workers=8 --server=swoole
```

* Puoi consultare tutte le potenti funzioni di Swoole [qui](https://www.php.net/manual/en/book.swoole.php).

## 🖥️ Preparazione del progetto

Prima di ospitare il tuo progetto su Square Cloud, verifica innanzitutto che i file del progetto siano configurati correttamente per l'hosting.

Se il tuo progetto include un file `composer.json`, Square Cloud installerà automaticamente le dipendenze utilizzando Composer. Tuttavia, se il tuo progetto ha anche dipendenze Node (ovvero un `package.json`), devi specificare il processo di installazione nel campo `START` del tuo file `squarecloud.app`. Ad esempio:

```plaintext theme={null}
START=npm install && php .....
```

<Warning>Il file di configurazione (`squarecloud.app/.config`) deve trovarsi nella radice del file zip. In caso contrario, Square Cloud non sarà in grado di trovarlo durante il deploy.</Warning>

## 📤 Come ospitare il tuo progetto

Ora che hai preparato tutti i file per il tuo progetto PHP, il passo successivo è caricarli su Square Cloud e mettere online la tua applicazione. Esistono diversi modi per effettuare il caricamento, ma ne tratteremo due: tramite Dashboard o tramite CLI.

### Tramite dashboard

<Steps>
  <Step title="Accedi alla pagina di upload">
    Accedi alla [pagina di upload](https://squarecloud.app/it/dashboard/new) e carica il file zip del tuo progetto.
  </Step>

  <Step title="Configura il tuo ambiente">
    Dopo aver caricato il tuo zip, dovrai configurare il nome, il file principale o il runtime environment e altre impostazioni per il tuo progetto.\
    Se stai caricando un progetto web, assicurati di selezionare "Web Publication" e di impostare un sottodominio per il tuo progetto.
  </Step>

  <Step title="Esegui il deploy del tuo progetto">
    Infine, clicca sul pulsante "Deploy" per ospitare il tuo progetto su Square Cloud.\
    Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.

    <Frame>
      <img src="https://cdn.squarecloud.app/docs/articles/dashboard/uploading.gif" alt="Caricamento dell'applicazione su Square Cloud" style={{ borderRadius: "0.2rem" }} />
    </Frame>
  </Step>
</Steps>

### Tramite CLI

Per utilizzare questo metodo, devi creare un file di configurazione chiamato `squarecloud.app` nella directory principale del tuo progetto. Questo file conterrà la configurazione necessaria per il tuo progetto.

<Card title="Scopri di più su: come creare il file di configurazione per Square Cloud." icon="link" href="/it/getting-started/config-file">
  Il file squarecloud.app è un file di configurazione che verrà utilizzato per configurare la tua applicazione; verrà usato per definire il tuo ambiente.
</Card>

<Steps>
  <Step title="Installa la CLI">
    Per prima cosa, devi avere la CLI installata nel tuo ambiente. Se non la hai ancora, esegui il seguente comando nel tuo terminale:

    ```
    npm install -g @squarecloud/cli
    ```

    Se la hai già, ti consigliamo di aggiornarla. Per farlo, esegui il seguente comando nel tuo terminale:

    <Tabs>
      <Tab title="Windows">
        ```bash theme={null}
        squarecloud update
        ```
      </Tab>

      <Tab title="Linux, macOS e WSL">
        ```bash theme={null}
        curl -fsSL https://cli.squarecloud.app/install | bash
        ```
      </Tab>
    </Tabs>
  </Step>

  <Step title="Autenticati">
    Ora, per autenticarti e utilizzare gli altri comandi della CLI, troverai la tua chiave di autorizzazione [qui](https://squarecloud.app/it/account/security) cliccando su "Request API Key". Dopo aver ottenuto la tua chiave di autorizzazione, esegui il seguente comando:

    ```bash theme={null}
    squarecloud auth login
    ```
  </Step>

  <Step title="Carica il tuo progetto">
    Infine, per eseguire il deploy della tua applicazione su Square Cloud tramite la CLI, devi eseguire il seguente comando:

    ```bash theme={null}
    squarecloud upload 
    ```

    Oppure, se hai creato lo zip manualmente, puoi usare:

    ```bash theme={null}
    squarecloud upload --file <path/to/zip> 
    ```
  </Step>
</Steps>

## Contattaci

Se continui a riscontrare **difficoltà tecniche**, il nostro **team di supporto specializzato** è disponibile ad assisterti. [**Contattaci**](https://squarecloud.app/it/support) e saremo felici di aiutarti a risolvere qualsiasi problema.
