PHP

Questo articolo contiene degli esempi su come impostare le seguenti applicazioni PHP da distribuire sui servizi di Hosting di Applicazioni di Kinsta a partire da un repository GitHub:

Prerequisiti

  • I template di avvio rapido di Kinsta sono archiviati e gestiti su GitHub; pertanto, per accedervi è necessario un account GitHub.
  • Sarà anche necessario creare un account MyKinsta per distribuire l’applicazione.

PHP

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – PHP.
  2. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  3. Scegliete il repository PHP di Hello World e la posizione del data center. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio.
  4. Nella fase di riepilogo, cliccate su Distribuisci ora.

Durante la distribuzione, Kinsta rileva automaticamente il comando Start del processo web e installa le dipendenze definite nel file composer.json. L’applicazione è disponibile non appena la distribuzione termina e la pagina di benvenuto di Kinsta viene caricata all’URL dell’applicazione.

Pagina di benvenuto di Kinsta dopo la distribuzione di PHP.
Pagina di benvenuto di Kinsta dopo la distribuzione di PHP.

Ecco la versione video:

Configurazione del server web

Kinsta configura automaticamente un server web Apache che serve il vostro file index.php dalla cartella principale del progetto nel modo consueto. Create un file index.php nella cartella del progetto come pagina di indice predefinita.

Jigsaw

Questo è un esempio di come configurare un sito statico con Jigsaw sui servizi di Hosting di Applicazioni di Kinsta a partire da un repository GitHub.

Jigsaw è un framework per siti statici che utilizza i template Blade per creare i layout delle pagine e Markdown per creare i contenuti all’interno dei template, in modo da poter produrre semplici siti statici senza avere conoscenze complesse di codifica. Maggiori informazioni sono disponibili sul sito web di Jigsaw.

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Jigsaw Starter.
  2. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  3. Scegliete il repository di Jigsaw Starter e la posizione del data center. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio.
  4. Nel passaggio Riepilogo, dato che dovrete aggiungere i buildpack necessari prima di distribuire, cliccate su Distribuisci più tardi.
  5. Affinché l’applicazione possa costruire i file CSS/JS, dovete aggiungere due buildpack: Node.js e PHP. Cliccate su Impostazioni > Aggiungi buildpack, selezionate Node.js > Aggiungi buildpack. Ripetete l’operazione per PHP.
  6. Cliccate su Distribuzioni > Distribuisci ora > scegliete il branch desiderato > Distribuisci applicazione.

Jigsaw si basa su Laravel; è una normale applicazione basata su PHP, quindi durante la distribuzione, Kinsta rileva automaticamente il comando Start per il processo web e installa le dipendenze definite nel file composer.json. L’applicazione è disponibile non appena la distribuzione termina e una pagina Jigsaw predefinita viene caricata all’URL dell’applicazione.

Pagina predefinita di Jigsaw dopo l'installazione.
Pagina predefinita di Jigsaw dopo l’installazione.

Buildpack

Nella maggior parte dei casi, vorrete che l’applicazione costruisca i file CSS/JS, quindi dovrete aggiungere questi due buildpack:

  • Node JS
  • PHP

Configurazione del server web

Comando Start

Quando si distribuisce l’applicazione, Kinsta crea automaticamente un processo web con npm start come comando Start. Se necessario, potrete modificarlo all’interno dei processi.

Laravel

Questo è un esempio di come impostare un’applicazione Laravel da distribuire sui servizi di Hosting di Applicazioni di Kinsta da un repository GitHub.

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Laravel.
  2. Laravel richiede l’impostazione della variabile d’ambienteAPP_KEY. Potete generare voi stessi una chiave per l’applicazione in locale oppure potete utilizzare questo generatore di chiavi Laravel online.
  3. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  4. Scegliete il repository Hello World Laravel e la posizione del data center. In Variabili d’ambiente, in Chiave 1, inserite APP_KEY, e in Valore 1, incollate la chiave generata dal passo 2, selezionate Disponibile durante il runtime e Disponibile durante il processo di build.
  5. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio. Nel passaggio Riepilogo, cliccate su Distribuisci più tardi per aggiungere i buildpack necessari prima di distribuirli.
  6. Affinché l’applicazione possa costruire i file CSS/JS, dovrete aggiungere due buildpack: Node.js e PHP. Cliccate su Impostazioni > Aggiungi buildpack, selezionate Node.js > Aggiungi buildpack. Ripetete l’operazione per PHP.
  7. Cliccate su Distribuzioni > Distribuisci ora > scegliete il branch desiderato > Distribuisci applicazione.

Laravel è una normale applicazione basata su PHP, quindi durante la distribuzione Kinsta rileva automaticamente il comando Start per il processo web e installa le dipendenze definite nel file composer.json. L’applicazione è disponibile non appena termina la distribuzione e viene caricata una pagina Jigsaw predefinita all’URL dell’applicazione.

Pagina di benvenuto di Kinsta dopo la distribuzione di Laravel.
Pagina di benvenuto di Kinsta dopo la distribuzione di Laravel.

Ecco la versione video:

Collegare un database

Se desiderate collegare l’applicazione a un database, iniziate creando un database nello stesso data center in cui si trova la vostra applicazione.

  1. Aggiungete un database.
  2. Collegate il database all’applicazione aggiungendo una connessione interna e selezionando la casella Aggiungi variabili d’ambiente…. In questo modo le variabili d’ambiente verranno automaticamente popolate dal database.
  3. Alcuni nomi di variabili (chiavi) utilizzati da Laravel sono diversi da quelli creati automaticamente da MyKinsta. Modificate le chiavi delle variabili come necessario per farle corrispondere ai nomi delle variabili definiti nel file database.php di Laravel. Di seguito sono riportati i nomi delle variabili (chiavi) corrispondenti ai tipi di database supportati da Laravel.

Variabili d’ambiente

MySQL e PostgreSQL

Chiave generata automaticamenteChiave Laravel
DB_HOSTDB_HOST
DB_PORTDB_PORT
NOME DBDB_DATABASE
DB_USERDB_USERNAME
DB_PASSWORDDB_PASSWORD
DB_CONNECTION_URLDB_URL

Redis

Chiave generata automaticamenteChiave Laravel
DB_HOSTREDIS_HOST
DB_PORTREDIS_PORT
NOME DBREDIS_DB
DB_USERREDIS_USERNAME
DB_PASSWORDREDIS_PASSWORD
DB_CONNECTION_URLREDIS_URL

Laravel APP_KEY

Laravel richiede che la variabile d’ambiente APP_KEY sia impostata. Se questa chiave non è impostata, vedrete una pagina di errore 500 servita da Laravel. Potete generare voi stessi una chiave per l’applicazione in locale oppure potete utilizzare il generatore di chiavi Laravel online. Una volta ottenuta la chiave, potrete aggiungerla come variabile d’ambiente.

Buildpack

Nella maggior parte dei casi, vorrete che l’applicazione costruisca i file CSS/JS, quindi dovrete aggiungere questi due buildpack:

  • Node.js
  • PHP

Il buildpack che contiene il linguaggio principale della vostra applicazione deve essere l’ultimo nell’elenco dei buildpack. In questo esempio, PHP è il linguaggio principale e deve essere l’ultimo buildpack dell’elenco.

Configurazione del server web

Comando Start

Il processo web predefinito è heroku-php-apache2. Questo esempio include un file .htaccess che reindirizza tutte le richieste a public/index.php per Laravel. Se necessario, potete modificare questo comando quando aggiungete l’applicazione (Imposta i processi) o nella pagina Processi dell’applicazione dopo la distribuzione. Potete utilizzare:

heroku-php-apache2 /public

oppure

php artisan serve --host 0.0.0.0 --port 8080

Leaf

Questo è un esempio di come impostare un’applicazione Leaf PHP da distribuire sui servizi di Hosting di Applicazioni di Kinsta a partire da un repository GitHub.

Leaf è un framework PHP sottile e leggero che si concentra sull’esperienza dello sviluppatore, sull’usabilità e sulle alte prestazioni del codice. Maggiori informazioni sono disponibili sul sito web di Leaf PHP.

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Leaf PHP.
  2. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  3. Scegliete il repository Hello World – Leaf PHP e la posizione del data center. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio.
  4. Nella fase di riepilogo, cliccate su Distribuisci ora.

Durante la distribuzione, Kinsta rileva automaticamente il comando Start del processo web e installa le dipendenze definite nel file composer.json. L’applicazione è disponibile non appena la distribuzione termina e la pagina di benvenuto di Kinsta viene caricata all’URL dell’applicazione.

Pagina di benvenuto di Kinsta dopo l'installazione di Leaf PHP.
Pagina di benvenuto di Kinsta dopo l’installazione di Leaf PHP.

Ecco la versione video:

Configurazione del server web

Porta

Kinsta imposta automaticamente la variabile d’ambiente PORT. Non dovete definirla e non sarà necessario codificarla nell’applicazione.

Comando Start

Quando si distribuisce l’applicazione, Kinsta crea automaticamente un processo web che esegue heroku-php-apache2.

Ciclo di vita della distribuzione

Ogni volta che viene avviata una distribuzione (attraverso la creazione di un’applicazione o la nuova distribuzione a causa di un commit in entrata), viene eseguito il comando composer install.

Statamic

Questo è un esempio di come impostare un’applicazione Statamic da distribuire sui servizi di Hosting di Applicazioni di Kinsta da un repository GitHub.

Statamic è un CMS flat-file che, per impostazione predefinita, memorizza tutti i dati nel repository Git. Prima di inviare il codice a MyKinsta, l’installazione di Statamic in locale è l’approccio consigliato per la creazione e la manutenzione del sito. Quindi, create un account di superutente e poi eseguite il commit e il push di tutte le modifiche al repository.

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Statamic Boilerplate.
  2. Statamic è basato su Laravel, quindi la variabile d’ambiente APP_KEY deve essere impostata. Potete generare voi stessi una chiave per l’applicazione in locale oppure potete utilizzare questo generatore di chiavi Laravel online.
  3. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  4. Scegliete il repository Statamic Starter e la posizione del data center. In Variabili d’ambiente:
    1. In Chiave 1, inserite APP_KEY e in Valore 1, incollate la chiave generata al passo 2.
    2. Cliccate su Aggiungi e in Chiave 2 inserite APP_KINSTA e in Valore 2 inserite true.
    3. Selezionate Disponibile durante il runtime e Disponibile durante il processo di build.
  5. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio. Nel passaggio Riepilogo, cliccate su Distribuisci più tardi per aggiungere i Buildpack necessari prima di distribuirli.
  6. Affinché l’applicazione possa costruire i file CSS/JS, dovrete aggiungere due buildpack: Node.js e PHP. Cliccate su Impostazioni > Aggiungi buildpack, selezionate Node.js > Aggiungi buildpack. Ripetete l’operazione per PHP.
  7. Cliccate su Distribuzioni > Distribuisci ora > scegliete il branch desiderato > Distribuisci applicazione.

Statamic si basa su Laravel; è una normale applicazione basata su PHP, quindi durante la distribuzione, Kinsta rileva automaticamente il comando Start per il processo web e installa le dipendenze definite nel file composer.json. L’applicazione è disponibile non appena la distribuzione termina e la pagina di benvenuto di Statamic viene caricata all’URL dell’applicazione.

Pagina di benvenuto di Statamic dopo l'installazione.
Pagina di benvenuto di Statamic dopo l’installazione.

Ecco la versione video:

Variabili d’ambiente

Statamic richiede l’impostazione delle seguenti variabili d’ambiente:

  • APP_KEY – potete generare voi stessi una chiave dell’applicazione in locale, oppure potete utilizzare il generatore di chiavi Laravel online.
  • APP_KINSTA – impostatela su true.

Buildpack

Nella maggior parte dei casi, vorrete che l’applicazione costruisca i file CSS/JS, quindi dovrete aggiungere questi due Buildpack:

  • Node.js
  • PHP

Il buildpack che contiene il linguaggio principale della vostra applicazione deve essere l’ultimo nell’elenco dei buildpack. In questo esempio, PHP è il linguaggio principale e deve essere l’ultimo buildpack dell’elenco.

Configurazione del server web

Comando Start

Il processo web predefinito è heroku-php-apache2 public/. Se necessario, potete modificare questo comando quando aggiungete la vostra applicazione (Imposta i processi) o nella pagina dei processi dell’applicazione dopo la distribuzione.

PHP per inviare e-mail

Questo è un esempio di come impostare un’applicazione PHP per l’invio di e-mail tramite SendGrid sui servizi di Hosting di Applicazioni di Kinsta, distribuiti da un repository GitHub.

Kinsta non supporta in modo nativo l’invio di email in uscita dai server. L’invio di email tramite provider specializzati in outbound come SendGrid o Mailchimp offre maggiore flessibilità e tassi di successo più elevati per le email transazionali e per le campagne.

  1. Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Email Sending With PHP.
  2. In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
  3. Scegliete il repository Hello World Email PHP e la posizione del data center. In Variabili d’ambiente, aggiungete quanto segue:
    • SENDGRID_API_KEY: la chiave API di SendGrid.
    • TEST_EMAIL_TO_ADDRESS: l’indirizzo a cui inviare l’email di prova.
    • TEST_EMAIL_FROM_ADDRESS: l’indirizzo da cui inviare l’email di prova.
    • TEST_ENDPOINT: l’endpoint da utilizzare come trigger per inviare l’email di prova. Utilizzate una stringa casuale di almeno 8 caratteri.
  4. Lasciate tutte le altre impostazioni come predefinite e cliccate su Continua in ogni passaggio. Nel passaggio Riepilogo, cliccate su Distribuisci ora.

L’applicazione sarà disponibile non appena la distribuzione sarà terminata e verrà caricata una pagina Hello World all’URL dell’applicazione.

Email PHP che invia la pagina Hello World dopo l'installazione.
Email PHP che invia la pagina Hello World dopo l’installazione.

Attivare un’e-mail

Attraverso un entrypoint index.php molto semplice, sono esposti due endpoint; tutti gli altri restituiranno un 404:

  • /: una semplice pagina che restituisce il messaggio Hello World
  • /${TEST_ENDPOINT}: una pagina che attiva un’email di prova.

Per attivare un’email, trovate l’URL della vostra distribuzione nella pagina delle Distribuzioni, aggiungete il vostro endpoint di test a questo URL e visitate la pagina. Ad esempio, se il vostro TEST_ENDPOINT è impostato su o34nifnodhni4of e l’ultima distribuzione si trova all’indirizzo https://example.kinsta.app, potete attivare un’email di prova da https://example.kinsta.app/o34nifnodhni4of nel vostro browser.

Questo articolo ti è stato utile?