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
- Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – PHP.
- In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
- 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.
- 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.
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.
- Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Jigsaw Starter.
- In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
- 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.
- Nel passaggio Riepilogo, dato che dovrete aggiungere i buildpack necessari prima di distribuire, cliccate su Distribuisci più tardi.
- 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.
- 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.
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.
- Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Laravel.
- Laravel richiede l’impostazione della variabile d’ambiente
APP_KEY
. Potete generare voi stessi una chiave per l’applicazione in locale oppure potete utilizzare questo generatore di chiavi Laravel online. - In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
- 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. - 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.
- 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.
- 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.
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.
- Aggiungete un database.
- 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.
- 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 automaticamente | Chiave Laravel |
DB_HOST | DB_HOST |
DB_PORT | DB_PORT |
NOME DB | DB_DATABASE |
DB_USER | DB_USERNAME |
DB_PASSWORD | DB_PASSWORD |
DB_CONNECTION_URL | DB_URL |
Redis
Chiave generata automaticamente | Chiave Laravel |
DB_HOST | REDIS_HOST |
DB_PORT | REDIS_PORT |
NOME DB | REDIS_DB |
DB_USER | REDIS_USERNAME |
DB_PASSWORD | REDIS_PASSWORD |
DB_CONNECTION_URL | REDIS_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.
- Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Hello World – Leaf PHP.
- In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
- 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.
- 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.
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.
- Accedete a GitHub e create un nuovo repository da questo template (Use this template > Create a new repository): Kinsta – Statamic Boilerplate.
- 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. - In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
- Scegliete il repository Statamic Starter e la posizione del data center. In Variabili d’ambiente:
- In Chiave 1, inserite
APP_KEY
e in Valore 1, incollate la chiave generata al passo 2. - Cliccate su Aggiungi e in Chiave 2 inserite
APP_KINSTA
e in Valore 2 inseritetrue
. - Selezionate Disponibile durante il runtime e Disponibile durante il processo di build.
- In Chiave 1, inserite
- 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.
- 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.
- 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.
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 sutrue
.
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.
- 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.
- In MyKinsta, cliccate su Applicazioni > Aggiungi applicazione > selezionate GitHub, cliccate su Connetti provider git > Autorizza e accedete al vostro account GitHub.
- 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.
- 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.
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.