1000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!
Modificare la versione di PHP in CLI
Questa guida spiega come modificare la versione di PHP utilizzata in linea di comando (PHP CLI) su un Hosting Web Infomaniak.
Premessa
- Questa guida è utile se è necessario regolare temporaneamente i parametri per uno script specifico o per una sessione PHP eseguita in linea di comando (CLI).
- Per modificare la versione generale di PHP utilizzata dal tuo hosting sul server web (FPM/Apache) tramite il Manager Infomaniak, consulta questa altra guida.
Versione predefinita di PHP in linea di comando
Quando si esegue il comando php (di solito tramite /usr/bin/php), è la versione predefinita di PHP configurata sul server che viene utilizzata. Questa versione può cambiare nel tempo in base agli aggiornamenti della piattaforma.
Per conoscere la versione esatta attualmente attiva sul tuo hosting, esegui:
php -vPer garantire la stabilità dei tuoi script, è consigliabile utilizzare una versione esplicita (php7.4, php8.0, php8.1, ecc.) o modificare la tua variabile PATH per puntare alla directory della versione desiderata (ad esempio /opt/php8.1/bin).
Modificare la versione di PHP utilizzata in CLI
Esistono due file principali che possono essere utilizzati per configurare la versione di PHP caricata automaticamente nella tua sessione SSH:
1. Utilizzo di ~/.bashrc (consigliato)
Il file .bashrc viene letto da Bash all'apertura di un shell interattivo (non-login), cioè nella maggior parte dei casi quando apri una sessione SSH normale o esegui comandi tramite strumenti di distribuzione.
Crea il file
~/.bashrcse non esiste, quindi aprilo:touch ~/.bashrc nano ~/.bashrcAggiungi la seguente riga per specificare la versione di PHP desiderata (esempio: PHP 8.1):
export PATH="/opt/php8.1/bin:$PATH"Ricarica il tuo ambiente:
source ~/.bashrcVerifica la versione attualmente utilizzata:
php -v which phpDovresti vedere un percorso del tipo
/opt/php8.1/bin/php.
2. Utilizzo di ~/.profile (alternativa)
Il file .profile viene letto solo quando il shell viene avviato in modalità login (ad esempio durante una prima connessione SSH). Se il tuo ambiente non carica automaticamente .bashrc, puoi definirvi direttamente la versione di PHP.
Crea il file
~/.profilese non esiste, quindi aprilo:touch ~/.profile nano ~/.profileAggiungi la seguente riga:
export PATH="/opt/php8.1/bin:$PATH"Ricarica il tuo ambiente:
source ~/.profile
3. Caricare .bashrc dagli altri profili
Per garantire che la configurazione venga caricata in tutti i tipi di sessioni (login e non-login), è consigliabile includere nei tuoi file ~/.bash_profile e ~/.profile la seguente riga:
if [ -f ~/.bashrc ]; then . ~/.bashrc; fiIn questo modo, la tua configurazione PHP definita in .bashrc verrà sempre applicata, indipendentemente dal modo in cui viene aperta la sessione SSH.
Eseguire una versione specifica occasionalmente
Se desideri eseguire uno script con una versione specifica di PHP senza modificare il tuo ambiente, puoi chiamare direttamente il binario corrispondente:
/opt/php8.1/bin/php mon_script.php
/opt/php8.2/bin/php -vDopo questi passaggi, la versione di PHP scelta verrà caricata automaticamente ad ogni apertura di una nuova sessione, e i tuoi script CLI si eseguiranno con la versione desiderata.