Como Carregar Extensões PHP de Terceiros no ServBay
O ServBay já vem com módulos de extensão PHP comuns para os usuários, que podem ser configurados e ativados nas opções linguagem
-versão PHP
-extensões
.
No entanto, às vezes, os usuários precisam carregar módulos que não estão incluídos no ServBay. Este artigo irá explicar como realizar esse processo.
O ServBay permite que os usuários carreguem extensões de terceiros para seu ambiente PHP gerenciado de forma flexível. Este documento usará o ionCube Loader como exemplo, orientando você através de todo o processo. Este processo é também relevante para carregar outras extensões Zend ou extensões PHP compiladas pelo usuário (arquivos .so
).
Nota: O ionCube Loader é uma extensão Zend, portanto, ao configurá-lo, use a diretiva zend_extension
, em vez da diretiva extension
.
Pré-requisitos
- Você já instalou e executou o ServBay.
- Você possui permissões de administrador para acessar arquivos do sistema e a interface de configuração do ServBay.
- Você está familiarizado com o uso do Terminal no macOS.
Atenção
O ServBay oferece pacotes PHP nativos para chips Intel e Silicon (M1/M2/M3/M4). Ao carregar arquivos so
, é essencial garantir que a arquitetura do arquivo so
que você está carregando seja compatível com a arquitetura do pacote do ServBay.
Arquivos de arquiteturas diferentes não podem ser misturados; a incompatibilidade de arquitetura levará a falhas no PHP.
- Determine a arquitetura do pacote PHP fornecido pelo ServBay:
file /Applications/ServBay/package/php/8.3/current/bin/php
As informações de saída serão similares a:
php: Mach-O 64-bit executable arm64 # Arquitetura Silicon Arm64
php: Mach-O 64-bit executable x86_64 # Arquitetura Intel x86
2
- Determine a arquitetura do arquivo
so
que precisa ser instalada:
file xdebug.so
A saída será similar a:
xdebug.so: Mach-O 64-bit bundle arm64 # Arquitetura Silicon Arm64
xdebug.so: Mach-O 64-bit bundle x86_64 # Arquitetura Intel x86
2
Passos de Operação
Passo 1: Baixar o ionCube Loader
- Acesse a página oficial de download do ionCube Loader. Para macOS ARM64 (chips da Apple Silicon M), baixe a versão Darwin ARM64. Você pode usar diretamente o seguinte link (verifique se há versões atualizadas): https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz
- Após o download, você terá um arquivo compactado
.tar.gz
, comoioncube_loaders_dar_arm64.tar.gz
.
Passo 2: Determinar a Versão PHP e o Diretório de Extensões
Abra o aplicativo ServBay.
No menu de navegação à esquerda, clique em Languages.
Na lista à direita, encontre a versão PHP para a qual deseja instalar o ionCube Loader (por exemplo, neste exemplo PHP 8.3). Anote esse número da versão.
As extensões PHP do ServBay costumam ser armazenadas em um caminho específico. Com base na estrutura de instalação padrão do ServBay e no exemplo de captura de tela, o diretório de extensões do PHP 8.3 pode ser semelhante a:
/Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
/Applications/ServBay/package/php/
é o caminho base do pacote PHP do ServBay.8.3/
é o diretório da versão principal.8.3.16/
é o diretório da versão específica do PHP (ajuste conforme a versão que você instalou).lib/php/extensions/
é o diretório pai das extensões.no-debug-non-zts-xxxxxxxx/
é o diretório da versão específica da API e opções de compilação (esse nome de diretório mudará com a versão do PHP).
Importante: Você precisa determinar ou encontrar este caminho exato com base na versão PHP instalada e na arquitetura do seu ServBay. Você também pode procurar pelo caminho usando comandos de terminal (certifique-se de usar o caminho do PHP gerenciado pelo ServBay):
bash/Applications/ServBay/package/php/8.3/current/bin/php -i | grep extension_dir
1Substitua
/Applications/ServBay/package/php/8.3/current/bin/php
pelo caminho real do arquivo executávelphp
da versão PHP desejada. A saída do comando mostraráextension_dir => /path/to/extension/directory
.
Passo 3: Descompactar e Colocar os Arquivos do Loader
- Abra o aplicativo Terminal.
- Use o comando
cd
para entrar no diretório onde o arquivo.tar.gz
foi baixado (geralmente o diretórioDownloads
).bashcd ~/Downloads
1 - Descompacte o arquivo baixado:bashIsso criará um diretório chamado
tar -zxvf ioncube_loaders_dar_arm64.tar.gz
1ioncube
. - Entre no diretório
ioncube
:bashcd ioncube
1 - Neste diretório, você verá arquivos
.so
correspondentes a diferentes versões do PHP, comoioncube_loader_dar_8.3.so
. Encontre o arquivo que corresponde à sua versão PHP alvo (a versão determinada no passo 2, como 8.3). - Copie o arquivo
.so
correspondente para o diretório de extensões PHP que você determinou no passo 2. Suponha que o diretório alvo seja o caminho do exemplo anterior, e você deseja instalar o Loader para PHP 8.3:bashcp ioncube_loader_dar_8.3.so /Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
1- Certifique-se de substituir o caminho alvo pelo caminho real do diretório de extensões da sua versão PHP.
- Garanta que você está copiando o arquivo
.so
que corresponde exatamente à versão do PHP.
Passo 4: Configurar o PHP no ServBay
Volte para a interface do aplicativo ServBay.
Certifique-se de que Languages está selecionado à esquerda, e clique na versão do PHP que deseja configurar (por exemplo, PHP 8.3) na lista à direita.
Na área de configuração expandida à direita, clique na aba PHP (como mostrado na seta 1 da imagem abaixo).
Role para baixo até encontrar a caixa de texto Additional Parameters (Parâmetros Adicionais).
Nesta caixa de texto, adicione a seguinte linha (como mostrado na seta 2 da imagem abaixo), especificando o caminho relativo do arquivo do ionCube Loader:
inizend_extension = ioncube_loader_dar_8.3.so
1- Reforçando: O arquivo
so
deve estar estritamente localizado no caminhoextension_dir
obtido no passo 3. Verifique cuidadosamente. - Use
zend_extension
em vez deextension
, pois o ionCube Loader é uma extensão Zend. - Se esta caixa de texto já contiver outras configurações, adicione esta instrução em uma nova linha.
- Reforçando: O arquivo
Clique no botão Save (Salvar) no canto inferior direito para salvar a configuração.
Passo 5: Reiniciar o Serviço PHP
Após clicar no botão de salvar, o ServBay já reiniciou automaticamente o serviço PHP.
Passo 6: Verificar se o Carregamento foi Bem-Sucedido
Você pode verificar se o ionCube Loader foi carregado com sucesso de duas maneiras:
Via linha de comando:
Abra o terminal.
Execute o seguinte comando (certifique-se de usar o caminho completo da versão PHP alvo):
bash/Applications/ServBay/package/php/8.3/current/bin/php -m | grep -i ioncube
1Se o carregamento for bem-sucedido, você deve ver uma saída como
ionCube Loader
.Você também pode executar
php -v
para ver informações de versão; geralmente, se a ionCube estiver carregada, informações relacionadas serão exibidas:bash/Applications/ServBay/package/php/8.3/current/bin/php -v
1Exemplo de saída:
PHP 8.3.16 (cli) (built: Jan 31 2025 15:09:39) (NTS) Copyright (c) The PHP Group Zend Engine v4.3.16, Copyright (c) Zend Technologies with the ionCube PHP Loader v14.4.0, Copyright (c) 2002-2024, by ionCube Ltd.
1
2
3
4
Via phpinfo():
- Crie um arquivo PHP com o conteúdo
<?php phpinfo(); ?>
(por exemplo,info.php
) e coloque-o no diretório raiz do seu site. - Acesse esse arquivo pelo navegador (por exemplo,
http://your-local-site.test/info.php
). - Na página de saída de
phpinfo()
, procure por "ionCube". Se o carregamento foi bem-sucedido, você verá um bloco de informações específico do ionCube Loader, exibindo sua versão e outros detalhes.
- Crie um arquivo PHP com o conteúdo
Resumo
Seguindo os passos acima, você deverá conseguir carregar com sucesso o ionCube Loader ou outras extensões PHP de terceiros para a versão PHP específica gerenciada pelo ServBay. O essencial é encontrar o arquivo de extensão correto, determinar o diretório de extensões PHP apropriado e adicionar as diretivas corretas na configuração do ServBay (zend_extension
ou extension
). Se você encontrar problemas, verifique cuidadosamente os caminhos, permissões de arquivo e se o serviço PHP foi reiniciado.