Guida alla Gestione delle Versioni PHP in ServBay: Configurazione via CLI e Ambiente Website
ServBay è uno strumento avanzato per lo sviluppo web locale, compatibile con macOS e Windows, che supporta diversi linguaggi di programmazione e database. In questa guida scoprirai come gestire in modo flessibile le versioni di PHP per ogni progetto in ServBay, sia per lo scripting da riga di comando sia per l’esecuzione di siti web specifici. Padroneggiare questi meccanismi permette di aumentare significativamente la produttività, garantendo ambiente isolato e stabile per ogni progetto.
1. Ambiente da riga di comando: gestire la versione PHP per progetto con .servbay.config
Creando un file di configurazione .servbay.config
nella radice del progetto, puoi assegnare una versione PHP dedicata agli script CLI di ogni progetto. ServBay rileva automaticamente la configurazione in base alla directory attiva del terminale, assicurando la separazione delle versioni ed evitando conflitti globali.
1. Funzione e principio di .servbay.config
- Controllo della versione per progetto: ServBay permette di installare ed eseguire più versioni PHP contemporaneamente, dalla 5.6 fino alle ultime release e versioni di sviluppo. Specificando la versione nel file
.servbay.config
, ogni progetto può usare esattamente quella che gli serve. - Switch non invasivo: Quando entri con
cd
nella directory di un progetto che contiene il file.servbay.config
, ServBay lo rileva e modifica temporaneamente le variabili d’ambiente della sessione (principalmentePATH
), così che comandi comephp
ocomposer
puntino alla versione corretta di PHP. Uscendo dalla directory, l’ambiente torna alle impostazioni globali di ServBay, il tutto senza alcun effetto collaterale sul sistema.
2. Come configurare
Nella radice del progetto, crea un file chiamato .servbay.config
e specifica la versione di PHP così:
bash
# Seleziona la versione PHP da usare in questo progetto (esempio: PHP 8.3)
PHP_VERSION=8.3
# Puoi anche specificare una versione di Node.js se richiesta (esempio: Node.js 20)
# NODE_VERSION=20
1
2
3
4
5
2
3
4
5
- Il valore di
PHP_VERSION
deve corrispondere a una delle versioni installate e attivate su ServBay (ad es.7.4
,8.1
,8.3
,8.5
etc.). - La variabile
NODE_VERSION
funziona in modo analogo, per gestire la versione di Node.js del progetto.
Verifica della configurazione:
Apri il terminale nella directory del progetto che contiene .servbay.config
e esegui:
bash
$ pwd # Verifica che ti trovi nella radice del progetto
$ php -v # Controlla che la versione PHP corrisponda a quella configurata (es: PHP 8.3.x)
$ composer install # La risoluzione e installazione delle dipendenze userà la PHP attiva
1
2
3
2
3
Se la versione non viene cambiata dopo aver modificato .servbay.config
, prova a chiudere e riaprire la finestra del terminale, oppure usa cd .
per forzare ServBay a ricaricare la configurazione.
3. Precauzioni e suggerimenti avanzati
- Compatibilità versione: Se riscontri errori come "Class not found" o "Call to undefined function", controlla prima i requisiti delle dipendenze (ad esempio, il range PHP in
composer.json
) ed assicurati che la versione scelta sia supportata da progetto e librerie. Alcuni progetti legacy potrebbero richiedere estensioni o funzionalità rimosse nelle nuove versioni (es. PHP 7.2 ha eliminatomcrypt
). - Valore di default globale: Se non c’è nessun file
.servbay.config
nella directory corrente o superiore, ServBay userà la versione globalmente impostata nella sezione “Impostazioni” dell’interfaccia grafica. - Gestione multi-servizio:
.servbay.config
permette anche di specificare la versione di Node.js (NODE_VERSION
), molto utile per progetti che usano Node.js sul frontend (come Webpack, Vite) e PHP per il backend.
4. Esempio di utilizzo
Ecco una dimostrazione della selezione automatica della versione PHP nei diversi progetti tramite .servbay.config
:
Descrizione immagine: In ServBay, entrando in directory con file
.servbay.config
personalizzati e digitando php -v
, il terminale mostra la versione PHP selezionata nel file.
2. Ambiente Website: gestione delle versioni PHP tramite interfaccia grafica ServBay
L’interfaccia grafica di ServBay offre un metodo semplice e intuitivo per configurare la versione PHP di ciascun sito web. L’ambiente sito e quello CLI rimangono separati, dandoti massima flessibilità.
1. Procedura di configurazione
- Apri l’interfaccia grafica di ServBay: Avvia l’applicazione ServBay.
- Accedi alla gestione siti: Clicca sulla scheda Websites (Siti web) nella barra di navigazione a sinistra.
- Aggiungi o modifica sito:
- Usa il pulsante + in basso a sinistra per aggiungere una nuova configurazione sito.
- Seleziona un sito esistente per modificarne le impostazioni.
- Configura attributi del sito:
- Root Directory (Cartella radice): Scegli la directory che contiene i file del sito; consigliato utilizzare la directory predefinita ServBay:
/Applications/ServBay/www/
, ad esempio/Applications/ServBay/www/nome-sito/public
(per progetti Laravel o Symfony). - Domain (Dominio): Imposta il dominio locale, tipo
nome-sito.servbay.demo
. ServBay configura automaticamente la risoluzione DNS locale e i certificati HTTPS (via ServBay User CA o ServBay Public CA), facilitando sviluppo e test. - PHP Version (Versione PHP): Tramite menu a tendina, scegli la versione da usare per il sito. ServBay mostra tutte le versioni installate ed attive (ad es. 7.4, 8.1, 8.3, 8.5).
- Root Directory (Cartella radice): Scegli la directory che contiene i file del sito; consigliato utilizzare la directory predefinita ServBay:
- Salva la configurazione: Al termine, conferma e salva. ServBay applicherà le modifiche automaticamente, potrebbe essere necessario ricaricare o riavviare il server web e i processi PHP-FPM coinvolti.
2. Dettagli tecnici e vantaggi
- Isolamento dei servizi: Ogni sito in ServBay è eseguito in un processo PHP-FPM dedicato, assicurando che gli ambienti siano completamente isolati—un errore o leak di memoria in un sito non impatterà sugli altri.
- Ottimizzazione per l’hardware: I pacchetti ServBay (inclusi quelli PHP) sono ottimizzati sia per ARM64 (Apple Silicon) che per X86_64, garantendo performance eccellente su qualsiasi Mac.
- Diagnostica errori:
- Consulta i log degli errori PHP in
/Applications/ServBay/var/log/php/php_error.log
. - Verifica lo stato dei processi PHP-FPM con il comando
servbayctl
, ad esempioservbayctl status php 8.3
.
- Consulta i log degli errori PHP in
3. Integrazione con server web e database
ServBay offre grande libertà nella scelta di server web e database, adattandosi alle necessità dei tuoi progetti:
- Server web supportati: Da ServBay 1.7.0 puoi cambiare facilmente il server del sito: Apache, Nginx e Caddy sono tutti integrati e coordinati con i processi PHP-FPM gestiti da ServBay.
- Gestione database: ServBay permette di installare e gestire più versioni di MySQL, MariaDB, PostgreSQL, MongoDB e Redis. Puoi connettere il tuo sito o codice agli istanze database specifiche attive su ServBay—utilissimo per progetti che richiedono versioni specifiche (ad esempio, Laravel può preferire MariaDB 11.x).
3. Migliori pratiche e collaborazione tra ambienti
Comprendere la distinzione tra gestione versione PHP in CLI e website in ServBay aiuta a scegliere la configurazione ideale per ogni caso d’uso:
Scenario | Configurazione CLI (.servbay.config ) | Configurazione Sito (interfaccia grafica ServBay) | Note |
---|---|---|---|
Manutenzione sistemi legacy | Specifica PHP_VERSION=5.6 nella radice progetto | Seleziona PHP 5.6 nel sito web | Assicurati che la versione e le estensioni necessarie siano installate in ServBay. |
Nuovi progetti (es. Laravel 11) | Imposta PHP_VERSION=8.3 (o superiore), puoi aggiungere NODE_VERSION=20 | Crea nuovo sito, imposta root su public , scegli PHP 8.3+, configura dominio e HTTPS | Mantieni coerenza tra tool CLI (Composer, Artisan, Node) e PHP in web. |
Test comparativo su nuove versioni PHP | Usa PHP_VERSION=8.5 nella radice progetto di test | Crea sito di test con PHP 8.5 | Utile per verificare future compatibilità del progetto. |
Esecuzione comandi Composer | Assicurati che .servbay.config selezioni la versione corretta | N/A (Composer si usa da CLI) | Composer utilizza la PHP attiva nella sessione terminale. |
Attenzione
- Differenze tra CLI e Web: Anche usando la stessa versione di PHP, le configurazioni di default e le estensioni caricate possono differire tra CLI e servizi web (PHP-FPM). Ad esempio,
opcache
di solito è abilitato per PHP-FPM ma disabilitato in CLI. In caso di comportamento diverso verifica il filephp.ini
(ServBay crea uno specifico per ogni versione) e le estensioni attive. - Aggiornamenti ServBay Runtime: Mantieni ServBay e il Runtime aggiornati: il team pubblica regolarmente nuovi pacchetti, versioni PHP e patch di sicurezza. L’update dell’app include automaticamente Runtime—così puoi accedere a miglioramenti e nuove funzioni.
Domande frequenti (FAQ)
D: Cosa fare se c’è conflitto tra versione PHP CLI e Website?
R: Gli ambienti da riga di comando (gestiti da .servbay.config
) e quelli Website (gestione via GUI) sono completamente separati. .servbay.config
influenza solo la versione PHP usata in sessione terminale; la configurazione del sito invece determina quale PHP-FPM gestisce le richieste web. Non esiste conflitto diretto tra i due. Puoi usare versioni diverse tra CLI e web per lo stesso progetto (es. Composer o Artisan su una versione, web su un’altra), ma è consigliabile mantenere coerenza per evitare problemi—l’ideale è uniformare la versione PHP in entrambi gli ambienti.
Conclusione
Tramite il file .servbay.config
e l’intuitiva interfaccia grafica, ServBay offre strumenti potenti e flessibili per gestire le versioni PHP nei progetti locali. Che tu debba mantenere applicazioni legacy o sviluppare in PHP di ultima generazione, ServBay ti permette di lavorare in modo semplice e produttivo. Usando queste funzioni, l’ambiente di sviluppo sarà più simile a quello di produzione, migliorando stabilità e efficienza del tuo workflow.