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

List of commands

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

Output of cache clean

php joomla.php cache:clean expired

Output of 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

Output of config get debug

php joomla.php config:set debug=true

Output of config set debug

php joomla.php config:get --group session

Output of config get group session

Core

Cerca aggiornamenti o aggiorna Joomla.

php joomla.php core:check-updates --help
php joomla.php core:check-updates

Output of core check updates

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

Output of cor 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

Output of 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

Output of 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)

Output of user add with prompts

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)