L'interfaccia a riga di comando (CLI)
Se hai accesso al terminale del server che ospita il tuo sito web puoi usare la CLI di Joomla per eseguire attività di routine senza bisogno di usare le credenziali di accesso utente di Joomla. Anche senza accesso al terminale, come in alcuni account di hosting condiviso, puoi eseguire i comandi CLI usando i cron job. I comandi CLI sono spesso più rapidi o più comodi degli equivalenti eseguiti tramite l'interfaccia Amministratore di Joomla (o del cPanel). Il backup del sito e l'impostazione del sito offline/online sono esempi in cui potresti preferire usare la CLI.
Il core di Joomla ha circa 30 comandi utili e puoi aggiungerne altri con estensioni aggiuntive. Per esempio, potresti recuperare dati esterni come dati di geolocalizzazione o tassi di cambio per un componente personalizzato.
Usare la CLI
La CLI si usa invocando l'eseguibile php a riga di comando. Questo è spesso diverso da quello usato da un web server come Apache. Se stai usando un cron job potresti dover fornire il percorso completo all'eseguibile php, così:
/usr/local/bin/php /home/username/public_html/[sottocartella opzionale]/cli/joomla.php
Altrimenti, quando usi la riga di comando del terminale, cambia directory nella cartella cli di Joomla e inizia eseguendo il comando senza parametri:
cd /home/username/public_html/[sottocartella opzionale]/cli
php joomla.php

E prova alcuni comandi di aiuto per familiarizzare con cosa aspettarti:
php joomla.php help
php joomla.php list
php joomla.php help cache:clean
php joomla.php help config:get
Ciascuna delle descrizioni di aiuto e le stringhe di utilizzo sono codificate direttamente nei file della libreria Console o in plugin di terze parti.
Prova alcuni semplici comandi di azione:
php joomla.php config:get debug
php joomla.php cache:clean
php joomla.php site:down
php joomla.php site:up
Opzioni
Se stai chiamando i comandi da un cron potresti non voler vedere alcun output:
php joomla.php -q cache:clean
Nota che le opzioni possono usare uno spazio o il segno =, ma le variabili devono usare il segno =:
php joomla.php session:gc --application administrator
php joomla.php session:gc --application=administrator
php joomla.php config:set debug=true
Comandi
Una breve spiegazione di ciascun comando del core.
Cache
Pulisci le voci scadute dalla cache di sistema:
php joomla.php cache:clean --help
php joomla.php cache:clean

php joomla.php cache:clean expired

Config
Ottieni o imposta una variabile di configurazione, una delle variabili in configuration.php o un gruppo di variabili. I gruppi validi sono db, session, mail,
php joomla.php config:get debug --help
php joomla.php config:get debug

php joomla.php config:set debug=true

php joomla.php config:get --group session

Core
Cerca aggiornamenti o aggiorna Joomla.
php joomla.php core:check-updates --help
php joomla.php core:check-updates

php joomla.php core:update --help
php joomla.php core:update

Database
Esporta o Importa il database. Puoi esportare o importare tutte le tabelle o una tabella selezionata. Non usare questa funzione per importare tutte le tabelle di un sito multilingua. C'è un problema che potrebbe bloccare completamente il funzionamento del Motore di ricerca.
php joomla.php database:export --help
php joomla.php database:export --table f4rc2_banners --folder /home/username/tmp/mydb (one table)
php joomla.php database:export --folder /home/username/tmp/mydb (all tables)
php joomla.php database:import --help
php joomla.php database:import --table /home/username/tmp/mydb/f4rc2_banners (one table)
[ERROR] The /home/username/tmp/mydb/f4rc2_banners.xml file does not exist.
php joomla.php database:import --folder /home/username/tmp/mydb (all tables in this folder)
Estensione
Elenca, Esplora, Installa o Elimina estensioni.
php joomla.php extension:list --help
php joomla.php extension:list
php joomla.php extension:list --type component
php joomla.php extension:list --type file
php joomla.php extension:list --type language
php joomla.php extension:list --type library
php joomla.php extension:list --type module
php joomla.php extension:list --type package
php joomla.php extension:list --type plugin
php joomla.php extension:list --type template
php joomla.php extension:discover --help
php joomla.php extension:discover
php joomla.php extension:discover:list
php joomla.php extension:discover:install --eid=
php joomla.php extension:install --help
php joomla.php extension:install --path=
php joomla.php extension:install --url=
php joomla.php extension:remove --help
php joomla.php extension:remove
Finder
Elimina e ricostruisce l'indice (i filtri di ricerca vengono mantenuti).
php joomla.php finder:index --help
php joomla.php finder:index
php joomla.php finder:index purge

Pianificatore
Elenca, cambia lo stato o esegue le attività pianificate.
php joomla.php scheduler:list --help
php joomla.php scheduler:list
php joomla.php scheduler:state --help
php joomla.php scheduler:state (interactive prompt for task id)
php joomla.php scheduler:run --help
php joomla.php scheduler:run --id ID
php joomla.php scheduler:run --all
Sessione
Esegue la pulizia (garbage collection) della sessione.
php joomla.php session:gc --help
php joomla.php session:gc
php joomla.php session:gc --application administrator
php joomla.php session:metadata:gc --help
php joomla.php session:metadata:gc
Sito
Mette il sito offline o online.
php joomla.php site:down --help
php joomla.php site:down
php joomla.php site:up --help
php joomla.php site:up
Aggiornamento
Controlla gli aggiornamenti delle estensioni in attesa. Rimuove i vecchi file che avrebbero dovuto essere eliminati durante un aggiornamento di Joomla
php joomla.php update:extensions:check --help
php joomla.php update:extensions:check
php joomla.php update:joomla:remove-old-files --help
php joomla.php update:joomla:remove-old-files

Utente
Elenca e gestisce gli utenti.
php joomla.php user:list --help
php joomla.php user:list
php joomla.php user:add --help
php joomla.php user:add --username cinderella --name Cinderella --email cinders@localhost --usergroup Manager (prompt for password)
php joomla.php user:add (prompts for data)

php joomla.php user:addtogroup --help
php joomla.php user:addtogroup (prompts for data)
php joomla.php user:addtogroup --usernam=cinderella --group=Manager
php joomla.php user:removefromgroup --help
php joomla.php user:removefromgroup (prompts for data)
php joomla.php user:removefromgroup --usernam=cinderella --group=Manager
php joomla.php user:reset-password --help
php joomla.php user:reset-password (prompts for data)
php joomla.php user:reset-password --username=cinderella (prompts for password)
php joomla.php user:delete --help
php joomla.php user:delete (prompts for username)
php joomla.php user:delete --username=cinderella (prompts for confirmation - y to confirm)