A Interface de Linha de Comandos (CLI)

Se tiver acesso ao terminal do servidor que aloja o seu sítio, pode usar a CLI do Joomla para realizar tarefas de rotina sem necessidade de usar as credenciais de autenticação de utilizador do Joomla. Mesmo sem acesso ao terminal, como em algumas contas de alojamento partilhado, pode executar comandos CLI através de tarefas cron. Os comandos CLI são muitas vezes mais rápidos ou mais convenientes do que os equivalentes realizados através da interface do Administrador do Joomla (ou cPanel). A cópia de segurança do sítio e colocar o sítio offline/online são exemplos em que poderá preferir usar a CLI.

O núcleo do Joomla tem cerca de 30 comandos úteis e pode adicionar mais com extensões adicionais. Por exemplo, pode obter dados externos como Geolocalização ou taxas de câmbio para um componente personalizado.

Usar a CLI

A CLI é usada invocando o executável php da linha de comandos. Este é frequentemente diferente do usado por um servidor web como o Apache. Se estiver a usar uma tarefa cron, pode ter de fornecer o caminho completo para o executável php, assim:

/usr/local/bin/php /home/username/public_html/[optional subfolder]/cli/joomla.php

Caso contrário, ao usar a linha de comandos do terminal, mude de diretório para o diretório cli do Joomla e comece por executar o comando sem parâmetros:

cd /home/username/public_html/[optional subfolder]/cli
php joomla.php

List of commands

E experimente alguns comandos de ajuda para se familiarizar com o que esperar:

php joomla.php help
php joomla.php list
php joomla.php help cache:clean
php joomla.php help config:get

Cada uma das descrições de ajuda e cadeias de utilização estão codificadas nos ficheiros da biblioteca Console ou em plugins de terceiros.

Experimente alguns comandos de ação simples:

php joomla.php config:get debug
php joomla.php cache:clean
php joomla.php site:down
php joomla.php site:up

Opções

Se estiver a chamar comandos a partir de um cron, poderá não querer ver qualquer resultado:

php joomla.php -q cache:clean

Note que as opções podem usar um espaço ou o sinal =, mas as variáveis têm de usar um sinal =:

php joomla.php session:gc --application administrator
php joomla.php session:gc --application=administrator

php joomla.php config:set debug=true

Comandos

Uma breve explicação de cada comando nuclear.

Cache

Limpar entradas expiradas da cache do 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

Obter ou definir uma variável de configuração, uma das variáveis em configuration.php ou um grupo de variáveis. Os grupos válidos são 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

Verificar atualizações ou atualizar o 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

Base de dados

Exportar ou importar a base de dados. Pode exportar ou importar todas as tabelas ou uma tabela selecionada. Não utilize esta funcionalidade para importar todas as tabelas de um sítio multilingue. Existe um problema que poderia impedir o funcionamento completo da Pesquisa Inteligente.

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)

Extensão

Listar, descobrir, instalar ou remover extensões.

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

Localizador

Elimina e reconstrói o índice (os filtros de pesquisa são preservados).

php joomla.php finder:index --help
php joomla.php finder:index
php joomla.php finder:index purge

Output of finder index purge

Agendador

Listar, alterar a situação ou executar tarefas agendadas.

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

Sessão

Executar a recolha de lixo das sessões.

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

Sítio

Coloca o sítio offline ou online.

php joomla.php site:down --help
php joomla.php site:down

php joomla.php site:up --help
php joomla.php site:up

Atualização

Verifica se existem atualizações de extensões pendentes. Remove ficheiros antigos que deveriam ter sido eliminados durante uma atualização do 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

Utilizador

Listar e gerir utilizadores.

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)