Se você precisa criptografar código PHP em seu aplicativo, então uma escolha muito popular é o ionCube, que foi projetado para integrar bem com aplicações de nível empresarial e pequeno.

Tipicamente, o código-fonte do PHP é passado primeiro pelo codificador ionCube antes que um aplicativo seja distribuído. Isto protege o código de ser legível por humanos ou de ser editado.

No entanto, por padrão, o código fonte criptografado do PHP não pode ser executado diretamente no servidor. Ele precisa ser descriptografado antes que o mecanismo PHP possa processá-lo.

É aqui que entra o carregador do ionCube.

Introdução

Lançado pela primeira vez em 2002, é uma extensão PHP que descriptografa (anteriormente encriptado) código on-the-fly e o prepara para execução junto com o resto da aplicação PHP.

Tem tudo a ver com segurança. Se um aplicativo PHP contém código proprietário/algoritmos, ou são necessários recursos de licenciamento de software, então usar o ionCube é uma solução ideal para proteger seu código fonte.

Para codificar arquivos PHP você primeiro precisa comprar o codificador ionCube. Há também uma versão online do codificador disponível que inclui suporte para criptografar código PHP gratuitamente para fins de teste (mais sobre isso abaixo).

Quanto ao carregador do ionCube, este é gratuito para qualquer pessoa que faça o download e instale no seu servidor. Existem várias versões diferentes do carregador ionCube disponíveis, cada uma projetada para um sistema específico (Linux, Windows, macOS, etc.), e arquiteturas de 32 ou 64 bits.

Uma vez baixado, você precisará instalar a versão do carregador do ionCube que corresponde à versão do PHP em execução no seu servidor, pois cada download disponível contém várias versões do carregador do ionCube para todas as diferentes versões do PHP.

Se você não tem certeza sobre qual versão você precisa baixar e instalar, então não se preocupe, estaremos cobrindo isso em detalhes em breve.

Assim como uma nota lateral se você estiver usando HHVM (HipHop Virtual Machine) para processar PHP, então você precisa estar ciente de que o carregador ionCube não suporta HHVM.

No entanto, este é um ponto discutível já que o HHVM terminou o suporte ao PHP a partir da versão v3.30. Então isso só é relevante se você estiver usando uma versão mais antiga do HHVM. Se você ainda está usando HHVM e precisa criptografar arquivos PHP com ionCube, então você terá que mudar para um mecanismo PHP mais padrão que suporta ionCube.

Preparação para a Instalação

Para completar a instalação manual do carregador ionCube é uma boa idéia primeiro estar confortável com comandos de terminal comuns. Se você já está familiarizado com o terminal, então sinta-se livre para pular para a próxima seção.

Neste guia referenciamos os seguintes comandos do terminal:

  • cat – Mostra o conteúdo de um arquivo para o terminal.
  • cd – Altera o diretório de trabalho atual.
  • cp – Copia um ou mais arquivos.
  • echo – Emite uma mensagem para o terminal.
  • grep – Pesquisa poderosa baseada em texto.
  • head – Produz a saída das poucas linhas iniciais de um arquivo(s).
  • ls – Lista arquivos e diretórios.
  • mkdir – Cria um novo diretório.
  • nano – Editor de texto compacto dentro da janela do terminal.
  • ssh – Cria uma nova conexão SSH remota.
  • tar – Extrai arquivos de um arquivo.
  • wget – Baixe arquivos via HTTP.

Entender o que esses comandos de terminal fazem e como usá-los tornará o processo de instalação do carregador ionCube muito mais fácil. Clique nos links para obter informações mais detalhadas sobre cada comando.

Habilite o ionCube Loader no MyKinsta

Se você é um cliente Kinsta, você pode habilitar o ionCube loader no MyKinsta. Para ativar o ionCube loader, vá para Sites > Ferramentas > ionCube Loader, e pressione o botão “Habilitar”. Neste momento, o ionCube loader só pode ser ativado em sites que utilizam PHP 7.4 ou 8.1 (o ionCube não é suportado no PHP 8.0). ionCube é gratuito para clientes Kinsta e pode ser instalado em qualquer plano.

Habilite o ionCube loader no MyKinsta.
Habilite o ionCube loader no MyKinsta.

Se você não é um cliente Kinsta, vamos orientá-lo sobre como instalar manualmente o carregador ionCube em um VPS. Verifique se você tem acesso SSH completo e se está confortável para executar comandos do terminal.

Instalação Manual do Carregador ionCube

Há um conjunto específico de passos necessários para completar a instalação do carregador ionCube manualmente no seu servidor. Este processo pode variar ligeiramente dependendo da configuração exacta do seu servidor, mas enquanto estiver a correr um servidor baseado em Linux, então as diferenças devem ser mínimas.

Durante o processo de instalação estaremos cobrindo cada um dos seguintes passos em detalhe:

  1. Conecte-se ao Seu Site Remotamente via SSH.
  2. Baixe e Extraia o ionCube Loader PHP Extension.
  3. Copiando o Arquivo .SO do ionCube Loader.
  4. Configuração e Reinicialização do Servidor.
  5. Verificando a Instalação do ionCube Loader
  6. Testando a Instalação do ionCube
  7. Verificar Logs de Erros para Problemas de Instalação

Conecte-se ao Seu site Remotamente via SSH

Antes de podermos baixar e começar a instalação do carregador ionCube, precisamos estabelecer uma conexão remota segura com o servidor via SSH (Secure Shell). Este se tornou o método padrão para interagir com um servidor através da linha de comando e vamos fazer extensa durante o processo de instalação da extensão PHP do carregador ionCube.

Para abrir uma nova conexão SSH você precisará ter as seguintes informações à mão, que devem ser inseridas toda vez que você se conectar:

  • Nome do anfitrião
  • Número da porta
  • Nome de usuário
  • Senha

É uma boa ideia procurar esta informação e tomar nota dela antes do tempo. Normalmente, esta informação pode ser encontrada no seu servidor cPanel ou dashboard como o MyKinsta. Seu anfitrião será capaz de ajudar se você não conseguir encontrar a informação que está procurando.

Você também pode se conectar ao seu servidor remoto usando chaves SSH. Este método é geralmente considerado uma forma mais segura de se conectar via SSH. Seu servidor deve suportar ambos os métodos.

Se você quiser usar chaves SSH em vez de digitar a combinação nome de usuário/senha cada vez que você entrar, dê uma olhada neste guia abrangente para obter mais informações.

Se você está em macOS, ou Linux, sistemas operacionais, então o terminal embutido será ótimo para acesso SSH. Se você estiver no Windows, no entanto, você precisará usar um cliente SSH como o PuTTTY, pois esse recurso não está disponível por padrão.

PuTTTY - Cliente SSH Windows
PuTTTY – Cliente SSH Windows

Vamos usar o terminal MacOS em todo o resto deste guia. Para se conectar ao seu servidor via SSH você precisará dos seguintes detalhes:

  • Nome de usuário
  • Nome do anfitrião
  • Número da porta
  • Senha (SFTP)

O comando do terminal SSH assume a forma:

ssh username@hostname -p portnumber

O número da porta é normalmente 22, mas pode ser diferente para o seu servidor específico. Por exemplo, pode haver diferentes números de porta usados para servidores compartilhados e dedicados, então verifique com o seu provedor de hospedagem se você não tem certeza antes de tentar se conectar.

Uma vez que o comando ssh tenha sido inserido, você será solicitado a fornecer uma senha após a qual a conexão SSH remota estará completa e você terá acesso direto ao servidor.

Conexão SSH Remota ao Servidor
Conexão SSH Remota ao Servidor

Baixe e Extraia o ionCube Loader PHP Extension

Existem diferentes versões do carregador ionCube disponíveis para download. Elas são listadas por plataforma e data de liberação para facilitar a escolha da versão correta relevante para o sistema em questão.

ionCube loader download arquivos
ionCube loader download arquivos

Você pode optar por assinar as atualizações do carregador ionCube para garantir que você mantenha sua extensão do carregador atualizada com a versão mais recente.

Para descobrir qual versão do carregador é a correta para o seu servidor, podemos usar o comando PHP que exibe dados detalhados de configuração do PHP.

[phpinfo()](https://www.php.net/manual/en/function.phpinfo.php)

Para usar esta função PHP para gerar os dados requeridos, complete os seguintes passos:

  • Conecte-se ao seu servidor via SSH.
  • Crie um arquivo PHP.
  • Adicionar a função phpinfo().
  • Salve o arquivo dentro da pasta raiz do website
  • Exibir em um navegador.
  • Pesquise no documento por referências ao ionCube.
  • Apagar o ficheiro quando terminar.

Este é um pouco de trabalho para apenas mostrar os dados de configuração do servidor PHP. Felizmente, há uma maneira mais fácil de fazer isto através do terminal.

Executar o comando php -i servirá a mesma resposta do mecanismo CLI do PHP como phpinfo() faz. No entanto, só queremos que as primeiras linhas sejam enviadas, já que isso contém as informações relevantes sobre o ambiente do servidor que o PHP está rodando.

Isto pode ser feito:

php -i | head -n 5

que produzirá a seguinte informação:

Determinação da versão do carregador ionCube
Determinação da versão do carregador ionCube

Como você pode ver, nosso servidor particular é baseado em Linux e o x86_64 refere-se a um sistema de 64 bits. Então o carregador ionCube que devemos baixar é o arquivo tar.gz de 64 bits do Linux. Certifique-se de baixar o arquivo do carregador ionCube relevante para o seu sistema.

O arquivo do carregador ionCube deve ser baixado para uma pasta temporária, então vamos criar um agora antes de fazer qualquer outra coisa:

cd /tmp
mkdir ioncube
cd ioncube/

Para baixar o arquivo do ionCube, use o comando wget.

wget 
https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

Isso faz o download do pacote carregador ionCube para a pasta temporária e produz o progresso do download até que ele seja concluído.

Descarregar o arquivo ionCube
Descarregar o arquivo ionCube

Uma vez que o arquivo tenha sido baixado com sucesso, extraia-o para a mesma pasta /tmp com:

tar xvfz ioncube_loaders_lin_x86-64.tar.gz
Extrair ionCube Arquivo
Extrair ionCube Arquivo

Isso extrai todos os arquivos arquivados para uma nova pasta do ioncube. Liste-os com o ls ioncube:

Arquivos de Carregamento do ionCube
Arquivos de Carregamento do ionCube

Como você pode ver, existem vários arquivos ionCube loader individuais com a extensão . so. Cada nome de arquivo contém um número diferente que se refere à versão do PHP em execução no seu servidor, então é importante que você instale o correto.

Anteriormente, nós executamos o comando php -i | head -n 5 para obter as informações do SO do servidor. As primeiras linhas de saída também nos dão a versão PHP que no nosso caso era 7.2.22.

Para determinar rapidamente qual arquivo do carregador ionCube devemos usar, liste apenas os arquivos que contêm _7 para tornar mais fácil ver apenas os arquivos que estavam interessados.

Nós podemos fazer isto piping a saída de ls em grep para filtrar a lista de arquivos:

ls ioncube | grep _7

o que resulta em:

Ficheiros de Carregador ionCube Filtrados
Ficheiros de Carregador ionCube Filtrados

A correspondência mais próxima à nossa versão do PHP é ioncube_loader_lin_7.2.so. Há um outro arquivo compatível chamado ioncube_loader_lin_7.2_ts.so, mas podemos ignorar isso, pois é a versão thread-safe que não é relevante para a configuração do nosso servidor em particular.

Aliás, no caso de você estar querendo saber, .so files are a type of library file which stands for ‘shared object’. Estes são um pouco semelhantes a DLL (Dynamic Link Library) arquivos que você pode estar familiarizado com se você for um usuário do Windows.

Copying the ionCube Loader .SO File

Para completar a instalação do carregador ionCube, basta copiar o arquivo ioncube_loader_lin_7.2.so para a pasta de extensões do PHP.

Para descobrir a localização da pasta de extensões, digite o seguinte comando do terminal:

php -i | grep extension_dir

Que retorna uma cadeia que contém as informações necessárias.

extension_dir => /opt/cpanel/ea-php72/root/usr/lib64/php/modules => /opt/cpanel/ea-php72/root/usr/lib64/php/modules

Não se esqueça que isto será provavelmente único para o seu próprio servidor. Agora nós sabemos a pasta de destino que nós podemos copiar o arquivo de carregador de ionCube.

sudo cp /tmp/ioncube/ioncube/ioncube_loader_lin_7.2.so /opt/cpanel/ea-php72/root/usr/lib64/php/modules
Copiar o carregador ionCube para o diretório de instalação
Copiar o carregador ionCube para o diretório de instalação

Neste momento o carregador do ionCube está no local correto, mas precisamos deixar o PHP saber que a extensão está disponível e onde está instalada.

Nós podemos fazer isso editando o arquivo principal de configuração php.ini e adicionando uma nova entrada zend_extension especificando o caminho para ioncube_loader_lin_7.2.so.

No entanto, php.ini é bastante complicado de editar através do terminal, mas podemos contornar isso aproveitando o fato de que o PHP suporta o uso de arquivos de configuração personalizados.

A única advertência é que estes devem estar localizados em um diretório específico que podemos determinar entrando:

php -i | grep 'additional .ini files'
Encontre a pasta de configuração personalizada do PHP
Encontre a pasta de configuração personalizada do PHP

Agora temos toda a informação para criar nosso arquivo de configuração personalizado e adicioná-lo ao local correto.

bash -c 'echo "zend_extension=/opt/cpanel/ea-php72/root/usr/lib64/php/modules/ioncube_loader_lin_7.2.so" > /opt/cpanel/ea-php72/root/etc/php.d/00-ioncube.ini'

Note que nosso arquivo .ini personalizado foi prefixado com 00, que é uma maneira de carregá-lo antes de outros arquivos de configuração do PHP para garantir que ele seja executado sem conflitos com outros arquivos de configuração personalizados.

Configuração e Reinicialização do Servidor

A extensão PHP do carregador ionCube deve agora ser instalada corretamente. Mas antes de o podermos usar, temos de fazer um pouco de limpeza.

Após a instalação, é importante fazer o seguinte:

  • Recarregar o servidor
  • Reinicie o motor PHP
  • Limpar o cache do site

O servidor pode ser recarregado através da linha de comando, mas o comando exato irá variar para diferentes configurações do servidor. Já que estamos a correr o Nginx no nosso servidor, usámo-lo:

sudo /etc/init.d/nginx reload

O PHP pode ser reiniciado diretamente do cPanel ou dashboard. Geralmente leva alguns segundos para reiniciar o PHP e uma notificação popup será exibida quando completa.

A última coisa que você deve fazer é limpar o cache do site para garantir que você está vendo as alterações mais recentes feitas na configuração do servidor.

Uma vez que estes passos finais tenham sido completados, o carregador ionCube deve agora ser instalado e configurado corretamente no seu servidor, pronto para decodificar arquivos codificados em PHP.

Verificando a Instalação do ionCube Loader

Para verificar se o carregador do ionCube está instalado e configurado corretamente, há algumas coisas que você pode fazer.

Em primeiro lugar, use php -i

Se o carregador ionCube estiver instalado, os detalhes aparecerão na saída.

No entanto, isso produz um grande volume de dados para o terminal, que você tem que percorrer manualmente para procurar por referências ao ionCube. Na verdade, a saída do php -i é tipicamente mais de 1000 linhas de texto.

Você pode usar o comando php -i | wc -l terminal para ver o número exato de linhas enviadas.

Não é realmente viável procurar manualmente através da saída do terminal, por isso podemos em vez disso enviar a saída do php -i diretamente para o comando grep e apenas devolver a informação que nos interessa.

Para fazer isso, digite o seguinte em uma janela de terminal (que ainda está conectada ao seu servidor web via SSH):

php -i | grep ioncube
Exibir informações de configuração do PHP
Exibir informações de configuração do PHP

Se você vir referências ao carregador do ionCube, então a instalação foi bem-sucedida.

Você também pode acessar informações sobre o carregador ionCube através do comando php -v terminal. Isso exibirá a versão específica do carregador ionCube, se instalado.

Exibir informações sobre a versão do PHP
Exibir informações sobre a versão do PHP

Se você não vê nenhuma saída relacionada ao ionCube via php -i ou php -v, então algo pode ter dado errado com a instalação. Nesse caso você pode tentar refazer alguns (ou todos) os passos de instalação conforme necessário para ver se ele resolve o problema.

Se o problema persistir, entre em contato com seu anfitrião, que poderá lhe fornecer as ações necessárias.

Outra forma recomendada seria criar uma página phpinfo, carregá-la e procurar por “ioncube”. Desta forma, você saberá se o ionCube é instalado com sucesso e em que versão.

Testando a Instalação do ionCube

Além de simplesmente verificar se o carregador do ionCube parece estar instalado, também vale a pena realizar um teste ao vivo para se certificar de que a extensão está funcionando como esperado antes de usá-la em arquivos de produção.

Vamos fazer isso agora codificando um arquivo PHP e testando se ele é executado corretamente quando carregado para o servidor. Uma das maneiras mais simples de codificar código PHP é usar o codificador online.

Codificador ionCube online

Codificador ionCube onlineAntes de fazer upload de arquivos a serem codificados, você precisará se registrar em uma conta gratuita do ionCube. Clique no item de menu Login e siga as instruções na tela para criar uma conta.

Uma vez conectado, você terá acesso à página de upload do codificador.

Carregar arquivo PHP para ser codificado
Carregar arquivo PHP para ser codificado

Normalmente há uma taxa para codificar arquivos PHP para código de produção, mas é livre para fins de teste.

Qualquer arquivo de teste codificado só será decodificado ativamente através da extensão PHP do decodificador ionCube por até 8 horas, após o que eles expirarão e não serão decodificados. Mas este é tempo mais do que suficiente para testar que tudo está funcionando como deveria.

Crie um arquivo PHP de teste e carregue-o para o codificador online. Certifique-se de que a caixa Teste de codificação está marcada.

O arquivo carregado é então automaticamente colocado em uma fila a ser codificada. Se este processo for bem sucedido, após alguns segundos você verá uma página mostrando os resultados junto com um link de Download para acessar o arquivo codificado.

Ficheiros ionCube carregados codificados
Ficheiros ionCube carregados codificados

Quando você baixar o arquivo, você notará que ele foi anexado com o carimbo de data e hora atual para diferenciá-lo do arquivo original.

Por exemplo, nosso nome de arquivo original ioncuber-loader-test.php foi codificado e então disponibilizado para download como ioncuber-loader-test codificado-190924-100632.php.

Você pode incluir qualquer código PHP válido que quiser no arquivo de teste. Para o nosso ficheiro de teste PHP, adicionámos uma função simples que retorna um número para ser mostrado juntamente com uma mensagem.


<?php

function mySecretFunction() {
  return '42';
}

echo "<h1>ionCube Loader Test Page</h1>";
echo "<p>Output of encoded function: " . mySecretFunction() . 
"</p>";

Por comparação, depois que este foi executado através do codificador, o arquivo baixado continha o seguinte:


<?php //0059b
// 10.2 72
// 
// IONCUBE ONLINE ENCODER EVALUATION
// THIS FILE IS LICENSED TO BE USED FOR ENCODER TESTING
// PURPOSES ONLY AND SHOULD NOT BE DISTRIBUTED
// 
if(!extension_loaded('ionCube Loader')){$__oc=strtolower(substr(php_uname(),0,3));$__ln='ioncube_loader_'.$__oc.'_'.substr(phpversion(),0,3).(($__oc=='win')?'.dll':'.so');if(function_exists('dl')){@dl($__ln);}if(function_exists('_il_exec')){return _il_exec();}$__ln='/ioncube/'.$__ln;$__oid=$__id=realpath(ini_get('extension_dir'));$__here=dirname(__FILE__);if(strlen($__id)>1&&$__id[1]==':'){$__id=str_replace('\\','/',substr($__id,2));$__here=str_replace('\\','/',substr($__here,2));}$__rd=str_repeat('/..',substr_count($__id,'/')).$__here.'/';$__i=strlen($__rd);while($__i--){if($__rd[$__i]=='/'){$__lp=substr($__rd,0,$__i).$__ln;if(file_exists($__oid.$__lp)){$__ln=$__lp;break;}}}if(function_exists('dl')){@dl($__ln);}}else{die('The file '.__FILE__." is corrupted.\n");}if(function_exists('_il_exec')){return _il_exec();}echo("Site error: the ".(php_sapi_name()=='cli'?'ionCube':'ionCube')." PHP Loader needs to be installed. This is a widely used PHP extension for running ionCube protected PHP code, website security and malware blocking.\n\nPlease visit ".(php_sapi_name()=='cli'?'get-loader.ioncube.com':'get-loader.ioncube.com')." for install assistance.\n\n");exit(199);

?>
HR+cPrb0lpjMgGF/p2/rAXWaVsF5lgbOo0LYkBQu2sZ7cHDIXwoQ+LPTtnDTw0hOl5Yfp7CvmV5c
bV90201GkQl3Lr5trbc0XXBJxV+hFqwsyPhXemDwQ37Lf0HHckqLWF5yXiIoErSIQzS8RbI1n49R
e2kRxmrwA+P2WbIZabhhXUPGZcn91NmJyW4qKz3xynZh+nvarORpi8tXqwPA3QUY7QZtwABJQs3U
lLpo3+X9sowLMgzttHBNNcGOZ73HVSgZ9eUtTRCeaswT4geKbT2qa0LgL8vhtl7RuymBklX1Rm0Q
1Aete/XaFhX6YG+B66t6nXBisZ5+P1O3YomFuW+rhbMbT1w3lk+MY+Ri5SCnRuvMig8ZWkchG3wX
XMpoGoP2uWectVSOROY+vmaGD+WTFjEFyw1C93T5qU4If5Ql/AdXA7s+ISvH8D5rqKSheLfnBQ2d
yx5yu5FEMrJwLA9g2g3xf2OSV5X1+1DmkRVEvY0tcukjjYVCcvbDKSBQpigXvYiTHAouI5ANmYbR
pMURAoAO9gUSm3Bul7HZdaQRwH2Fyp3na3hWGiSTdp5EXEDMTKRWtiB5nPPQ3MmVO6F2Er62h3Ov
N0oR6uCDj/y11u3Re6BQ2laN2k9m9ylnsMYketpe+OOMaoA6+n1yVpYWkBra+vr+Veh9+oQkXQBP
ZG4bUtd+4UIWW057ZMkKS4+2S3dSDHjcU/Op9ZSp2VFpSOlaqssNgA9WMGP0b8xhbTOPx6FqgY09
/WnmQyto9goSeIfAcc1braP74ILD9DLwVRG1aXHIC6WGhPYzafs+gut8DHebHUzSPj3JYu9t6/w2
1Nnuc5Dso5SnAa8v2AabXUvZBpQrYTf8tY1L0zL8sqTIvTlv/tRCpsu4hrwFg7hqx+6OsXaWiLwY
xtfwBfCbGS1a/c2+OhUujEllco6gB1KoekhLv9xVj70cRWRgnf+nSCcCc2bFjk4+VtJh+07M9CRO
vqaTu78gagPGMVFYebH5AvOLOKn8Ao1A1lX+GdiD0mLr8BAQ2jrZx1i8wZ0ILNuKRFWvFnYK4Bjg
SYImW2oc6Mg/u50B/Y+mjAeIbpUfm+Ksetd5n2sFetQt831K3u891bKBPw8AzqtGzhLjihFhORCG
BIwx+aA8AvUMeR4Uuk/FdyxATCqly93/crGkCwUQWrvPY5hA9KvtmOFvYPUVpuFZKS5BPzUySat3
ChtDQpr7H7N9phQvoSZ7pTBOGoyfVDTn1abQVMYQXbrW+yee+wBnGiUpGpR3MgkUPHKX/N36+P8o
Ld5obAtVtNjgiQjcYwI6KkrNmH22sqHlILAnR7yUn0==

Isso é completamente irreconhecível do código fonte original, então o codificador fez seu trabalho!

A questão importante agora é: a extensão do decodificador ionCube instalada será capaz de analisar o arquivo e decodificá-lo para que ele possa ser executado como um código PHP normal?

Para descobrir, enviámos ambos os ficheiros PHP para o servidor e vimo-los no browser. O primeiro é o arquivo original contendo o código bruto do PHP.

Teste de arquivo PHP bruto
Teste de arquivo PHP bruto

A página é exibida como esperado. Agora para o arquivo PHP codificado.

Teste de arquivo PHP codificado
Teste de arquivo PHP codificado

Isso exibe exatamente o mesmo para que a extensão do decodificador ionCube seja verificada como instalada e funcionando corretamente.

Verificar Logs de Erros para Problemas de Instalação

Uma última coisa que você pode fazer para verificar se a instalação foi bem-sucedida é visualizar os logs de erros do servidor e procurar por entradas recentes relacionadas à instalação do ionCube.

Se você vir algo parecido com o seguinte no log de erros, então você precisará entrar em contato com seu host para que eles possam ver mais a fundo:

PHP Fatal error: The file 
/www/sitename_xxx/public/wp-content/themes/theme-name/functions.php was encoded by the ionCube Encoder for PHP 5.6 and cannot run under PHP 7.1

Os passos necessários para acessar os logs de erros variam de host para host, então é melhor verificar primeiro se você não tem certeza de onde eles estão localizados.

Os clientes Kinsta podem visualizar os logs de erros no seu painel MyKinsta.

Resumo

Até agora, esperamos que você tenha a extensão PHP do ionCube Loader instalada e funcionando no seu servidor. Vamos tirar um momento para recapitular o que fizemos.

Nós aprendemos que o carregador ionCube é uma extensão PHP com um propósito dedicado que é decodificar arquivos PHP previamente criptografados on-the-fly, como e quando eles são solicitados pelo servidor.

Para fazer isso, o carregador precisa ser instalado corretamente através de uma série de comandos de terminal quando conectado ao servidor usando uma conexão SSH.

Depois de estabelecer uma conexão segura com seu servidor, você pode iniciar o processo de instalação da extensão do carregador ionCube, que pode ser dividido em uma série de etapas:

  1. Baixe o arquivo correto carregador ionCube em uma pasta temporária no seu servidor.
  2. Extrair o arquivo baixado. Selecione o arquivo apropriado .so ionCube loader dos numerosos arquivos extraídos que correspondem à versão instalada do PHP.
  3. Copie o carregador ionCube .so para a pasta de extensões do PHP. Esta será uma localização fixa única para a sua instalação PHP em particular.
  4. Ative o carregador ionCube em PHP editando o arquivo php.ini principal ou criando um arquivo .ini personalizado. Adicione um novo zend_extension apontando para o local do arquivo carregador ionCube instalado.
  5. Para realmente começar a processar arquivos PHP criptografados, o servidor precisa ser recarregado e o mecanismo PHP reiniciado. O processo exato para fazer isso será diferente de servidor para servidor. Às vezes também é necessário limpar o cache do site.
  6. Verifique se a instalação do ionCube foi bem-sucedida através do terminal usando os comandos php -i e php -v.
  7. O passo final é fazer um teste ao vivo para garantir que o carregador ionCube esteja funcionando como esperado. Você pode usar o codificador online para criptografar arquivos PHP gratuitamente, desde que seja apenas para fins de teste.

Se algo correr mal durante o processo de instalação, ou apenas por paz de espírito, pode também verificar os logs do servidor para quaisquer erros que possam ter ocorrido.

Agora é a sua vez: qual é a sua experiência com o ionCube Loader? Deixe-nos saber nos comentários!

David Gwyer

David Gwyer is a WordPress developer at WPGoplugins, JavaScript programmer, and technical writer with 20+ years industry experience. His current development work is focused on creating engaging blocks for the exciting new WordPress Editor. Connect with David on Twitter