Guia de solução de problemas


Antes de começar a relatar um novo problema no repositório do GitHubGitHub GitHub é um site que oferece a implementação online de repositórios git que podem ser facilmente compartilhados, copiados e modificados por outros desenvolvedores. Repositórios públicos podem ser hospedados gratuitamente; repositórios privados exigem uma assinatura paga. O GitHub introduziu o conceito de ‘pull request’, no qual as alterações de código feitas em branches por colaboradores podem ser revisadas e discutidas antes de serem mescladas pelo proprietário do repositório. https://github.com/, certifique-se de verificar sua instalação local, pois algumas configurações podem normalmente resultar em um comportamento inesperado dos seus comandos do WP-CLIWP-CLI WP-CLI é a Interface de Linha de Comando para WordPress, usada para realizar tarefas administrativas e de desenvolvimento de forma programática. A página do projeto é http://wp-cli.org/ https://make.wordpress.org/cli/.

Como obtenho informações mais detalhadas sobre minha instalação do WP-CLI?

O WP-CLI oferece o comando wp --info, que fornece muitas informações sobre o ambiente da sua instalação do WP-CLI. A saída informará,
* em qual sistema operacional e shell você trabalha
* qual binário do PHPPHP PHP (acrônimo recursivo de PHP: Hypertext Preprocessor) é uma linguagem de script de código aberto de uso geral amplamente utilizada, especialmente adequada para desenvolvimento web e que pode ser incorporada ao HTML. https://www.php.net/manual/en/index.php é usado para executar o WP-CLI
* qual versão do PHP é usada
* onde encontrar o diretório raiz do WP-CLI
* onde encontrar o diretório vendor do WP-CLI
* com qual binário do WP-CLI você está trabalhando atualmente (caminho do phar)
* onde os pacotes do WP-CLI são armazenados
* onde encontrar os arquivos de configuração globais e do projeto para o WP-CLI e
* qual versão do WP-CLI você usa.

O que devo fazer antes de começar a depurar problemas?

Antes de começar a depurar problemas, certifique-se de estar usando a versão mais recente do WP-CLI. A versão mais recente pode já ter resolvido o problema que você está enfrentando. O comando wp cli update atualizará sua versão do WP-CLI ou confirmará que você já está usando a versão mais recente. Se a instalação travar, certifique-se de que tem permissão para se conectar ao GitHub usando SSLSSL Secure Socket Layer – Criptografia do servidor para o navegador e vice-versa. Impede que pessoas bisbilhoteiras vejam o que você está enviando entre o navegador e o servidor. (porta 443) e git (porta 9418) para conexões de saída.

O que devo fazer se a saída do WP-CLI for diferente do esperado?

Antes de começar a investigar um bug, você deve estar ciente dos fatores que podem alterar o comportamento padrão do WP-CLI e de como verificar se eles podem estar na raiz do problema. Existem cinco subsistemas principais para modificar esse comportamento padrão: variáveis de ambiente, arquivos de configuração, pacotes do WP-CLI, arquivo wp-config.php e extensões do WordPress (plugins, temas, plugins obrigatórios, drop-ins).

Variáveis de ambiente

A configuração do seu ambiente de trabalho é um pré-requisito para executar o WP-CLI. Você pode verificar as configurações atuais do ambiente com o comando de shell env.

Se quiser executar o WP-CLI remotamente usando SSHSSH Secure SHell – um protocolo para se conectar com segurança a um sistema remoto, além de ou no lugar de uma senha., é necessário que o comando wp esteja acessível no caminho do servidor remoto. O comportamento do WP-CLI também pode ser alterado em tempo de execução por meio do uso de variáveis de ambiente:

  • WP_CLI_CACHE_DIR – Diretório para armazenar o cache de arquivos do WP-CLI. O padrão é ~/.wp-cli/cache/.
  • WP_CLI_CONFIG_PATH – Caminho para o arquivo global config.yml. O padrão é ~/.wp-cli/config.yml.
  • WP_CLI_CUSTOM_SHELL – Permite que o usuário substitua o shell padrão /bin/bash usado.
  • WP_CLI_DISABLE_AUTO_CHECK_UPDATE – Desativa as verificações automáticas de atualizações do WP-CLI.
  • WP_CLI_DOCKER_NO_TTY – Ignora o status tty detectado e remove a flag --tty de docker exec ao executar o WP-CLI em um contêiner Docker via SSH.
  • WP_CLI_DOCKER_NO_INTERACTIVE – Ignora o status tty detectado e remove a flag --interactive de docker exec ao executar o WP-CLI em um contêiner Docker via SSH.
  • WP_CLI_PACKAGES_DIR – Diretório para armazenar pacotes instalados por meio do gerenciamento de pacotes do WP-CLI. O padrão é ~/.wp-cli/packages/.
  • WP_CLI_PHP – Caminho do binário PHP a ser usado ao substituir o padrão do sistema (funciona apenas em instalações que não sejam Phar).
  • WP_CLI_PHP_ARGS – Argumentos a serem passados ao binário PHP ao invocar o WP-CLI (funciona apenas em instalações que não sejam Phar).
  • WP_CLI_SSH_PRE_CMD – Ao usar --ssh=<ssh>, executa um comando antes de o WP-CLI chamar o WP-CLI no servidor remoto.
  • WP_CLI_SSH_BINARY – Ao usar --ssh=<ssh>, este é o comando que será chamado na máquina remota em vez de wp.
  • WP_CLI_STRICT_ARGS_MODE – Evita ambiguidades informando ao WP-CLI que trate quaisquer argumentos antes do comando como globais e, depois do comando, como locais.
  • WP_CLI_SUPPRESS_GLOBAL_PARAMS – Defina como true para não mostrar os parâmetros globais no final da tela de ajuda. Isso economiza espaço na tela para usuários avançados.
  • WP_CLI_FORCE_USER_LOGIN – Defina como 1 para forçar que o valor fornecido à flag --user seja interpretado como um login em vez de um ID, contornando tipos ambíguos.
  • WP_CLI_EARLY_REQUIRE – Carrega um ou mais arquivos PHP personalizados (separados por vírgulas) no início do processo de bootstrap.
  • WP_CLI_REQUIRE – Carrega um ou mais arquivos PHP personalizados (separados por vírgulas) após o processo de bootstrap. Isso tem o mesmo efeito que --require na linha de comando ou um mapeamento require em um arquivo de configuração wp-cli.yml.
  • WP_CLI_USER_AGENT – Define o valor de $_SERVER['HTTP_USER_AGENT'] do qual alguns plugins e ferramentas dependem.

Para definir uma variável de ambiente sob demanda, você pode colocar a definição da variável de ambiente antes do comando do WP-CLI que deseja executar (por exemplo, EDITOR=vim wp post edit 1); para substituir variáveis de ambiente, use export VARIABLE=value no seu ~/.bashrc ou ~.zhsrc.

Arquivos de configuração do WP-CLI

Os arquivos de configuração permitem personalizar o comportamento do WP-CLI para adaptá-lo às suas necessidades pessoais ou às do seu projeto. Se o arquivo de configuração estiver incorreto ou incluir modificações indesejadas no comportamento padrão, a saída do WP-CLI provavelmente refletirá o erro.

Observe que um arquivo de configuração do projeto pode substituir as configurações de um arquivo de configuração global.

Renomeie ou exclua seu(s) arquivo(s) de configuração e compare o resultado para descobrir se alguma configuração pode ter causado o problema.

Pacotes do WP-CLI

Os pacotes do WP-CLI são projetos mantidos pela comunidade e desenvolvidos com base no WP-CLI. Eles podem conter comandos do WP-CLI, mas também podem simplesmente estender o WP-CLI de alguma forma. Embora o WP-CLI possa estar funcionando perfeitamente, um pacote com erros também pode causar resultados inesperados. Para ignorar o carregamento de todos os pacotes instalados, use wp --skip-packages.

Arquivo de configuração do WordPress (wp-config.php)

Erros podem resultar da movimentação ou edição do wp-config.php além do que o WP-CLI suporta. Se você obtiver um erro de análise, verifique a codificação do arquivo wp-config.php (UTF-8 sem BOM).

Certifique-se de que a linha require_once(ABSPATH . 'wp-settings.php'); permaneça no arquivo wp-config.php e não modifique o wp-config.php além das definições de constantes. Se você chamar funções do WordPress dentro do wp-config.php, o PHP falhará com um erro fatal.

Se quiser usar $_SERVER['HTTP_HOST'] no seu wp-config.php, será necessário definir um valor padrão no contexto do WP-CLI:

if ( defined( 'WP_CLI' ) && WP_CLI && ! isset( $_SERVER['HTTP_HOST'] ) ) {
    $_SERVER['HTTP_HOST'] = `example.com';
}

Em vez de $_SERVER['document_root'], use dirname( __FILE__ ) ou algo semelhante.

Extensões do WordPress

Temas e plugins do WordPress podem entrar em conflito com o processo de carregamento do WP-CLI ou interferir nele, por exemplo, redirecionando usuários. Eles frequentemente fazem suposições que não são verdadeiras no contexto do WP-CLI, como usar o nome do host da solicitação atual (um conceito que não existe no contexto da linha de comando).

Você pode ignorar plugins e temas específicos (por exemplo, --skip-plugins=akismet) ou ignorá-los completamente (wp --skip-plugins --skip-themes).

O que devo fazer se o WP-CLI relatar um erro?

Problemas comuns resultam de alterações no seu wp-config.php ou na configuração do servidor web. A seção “Problemas comuns” do manual lista as mensagens de erro mais comuns e explica como lidar com esses erros.

Tente reproduzir o problema em uma instalação nova do WordPress com um tema padrão (Twenty …) e sem plugins instalados. Se o problema só for reproduzido em um ambiente personalizado, então ele é um bug do seu ambiente, não do WP-CLI. Certifique-se também de ativar o modo de depuração do WordPress definindo a constante define( 'WP_DEBUG', true ); no seu wp-config.php. Isso pode revelar problemas na instalação existente do WordPress que não são causados pelo WP-CLI.

Além disso, você pode usar o parâmetro global --debug do WP-CLI para mostrar todos os erros do PHP e adicionar mais detalhes ao bootstrap do WP-CLI.

Verifiquei tudo acima, mas ainda tenho um problema. Onde posso relatar problemas?

Se você acha que encontrou um bug, gostaríamos muito de saber para que possamos corrigi-lo.

Os relatos de bugs do WP-CLI são gerenciados no GitHub. Antes de criar um novo problema, pesquise os problemas existentes para verificar se já existe uma solução. Se não houver um problema aberto ou corrigido para o seu bug, siga nossas diretrizes para enviar um relato de bug para garantir que ele seja tratado em tempo hábil. Fornecer o resumo, as etapas para reproduzir, os detalhes do ambiente e outras especificações identificadas abaixo ajudará a garantir que você envie um relato de bug completo.

Forneça-nos:
* um resumo do problema em forma narrativa,
* uma lista detalhada e específica das etapas para reproduzir o problema,
* detalhes do ambiente em que você está trabalhando,
* uma descrição de como o bug afeta seu uso (ou seja, os resultados esperados em comparação com os resultados reais), incluindo o nível de gravidade,
* possíveis soluções alternativas e
* diagnósticos relevantes, como relatórios de falhas, rastreamentos de pilha ou saída de depuração.

Você pode encontrar uma descrição detalhada desses dados de um relato de problema nas diretrizes para enviar um relato de bug.