Cómo cargar extensiones PHP de terceros en ServBay
ServBay ya proporciona a los usuarios módulos de extensiones PHP comunes, y solo necesitan configurarlos y habilitarlos en la sección Idioma
- Versión de PHP
- Extensiones
de ServBay.
Sin embargo, a veces los usuarios pueden necesitar cargar módulos que no están incluidos por defecto en ServBay. Este documento explicará cómo llevar a cabo dicho proceso.
ServBay permite a los usuarios cargar extensiones de terceros de manera flexible en su entorno PHP gestionado. Este documento tomará como ejemplo el ionCube Loader y lo guiará a través de todo el proceso. Este proceso también es útil para cargar otras extensiones de Zend o extensiones PHP compiladas por el usuario (archivos .so
).
Nota: ionCube Loader es una extensión de Zend, por lo que, al configurarlo, se debe usar la directiva zend_extension
en lugar de la directiva extension
.
Requisitos previos
- Ya ha instalado y está ejecutando ServBay.
- Tiene permisos de administrador para acceder a los archivos del sistema y la interfaz de configuración de ServBay.
- Está familiarizado con el uso de la aplicación de terminal (Terminal) de macOS.
Nota
ServBay ofrece paquetes de software PHP nativos tanto para chips Intel como para Silicon (M1/M2/M3/M4). Al cargar archivos so
, asegúrese de que la arquitectura del archivo so
que está cargando coincida con la arquitectura del paquete de ServBay.
No se pueden mezclar archivos de diferentes arquitecturas; una discrepancia en la arquitectura hará que PHP se bloquee.
- Determine la arquitectura del paquete de PHP incluido en ServBay:
file /Applications/ServBay/package/php/8.3/current/bin/php
La información de salida será similar a:
php: Mach-O 64-bit executable arm64 # Arquitectura Silicon Arm64
php: Mach-O 64-bit executable x86_64 # Arquitectura Intel x86
2
- Determine la arquitectura del archivo
so
que necesita instalar:
file xdebug.so
La información de salida será similar a:
xdebug.so: Mach-O 64-bit bundle arm64 # Arquitectura Silicon Arm64
xdebug.so: Mach-O 64-bit bundle x86_64 # Arquitectura Intel x86
2
Pasos a seguir
Paso 1: Descargar ionCube Loader
- Visite la página oficial de descargas de ionCube Loader. Para macOS ARM64 (chip M de Apple), descargue la versión Darwin ARM64. Puede usar directamente el siguiente enlace (verifique si hay versiones actualizadas): https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz
- Después de completar la descarga, obtendrá un archivo comprimido
.tar.gz
, por ejemploioncube_loaders_dar_arm64.tar.gz
.
Paso 2: Determinar la versión de PHP objetivo y el directorio de extensiones
Abra la aplicación ServBay.
En la barra de navegación izquierda, haga clic en Languages.
En la lista de la derecha, encuentre la versión de PHP para la que desea instalar ionCube Loader (en este caso, PHP 8.3). Anote el número de versión.
Las extensiones de PHP en ServBay generalmente se almacenan en una ruta específica. Según la estructura de instalación estándar de ServBay y el ejemplo visual, el directorio de extensiones para PHP 8.3 puede ser similar a:
/Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
/Applications/ServBay/package/php/
es la ruta base del paquete PHP de ServBay.8.3/
es el directorio de la versión principal.8.3.16/
es el directorio de la versión específica de PHP (ajuste según su versión instalada).lib/php/extensions/
es el directorio padre de las extensiones.no-debug-non-zts-xxxxxxxx/
es el directorio del tipo de API específica y el modelo de compilación (este nombre de directorio cambia con la versión de PHP).
Importante: Necesita determinar o encontrar esta ruta exacta según la versión de PHP realmente instalada y la arquitectura en su ServBay. También puede buscar esta ruta usando el comando de terminal (asegúrese de usar la ruta de PHP gestionada por ServBay):
bash/Applications/ServBay/package/php/8.3/current/bin/php -i | grep extension_dir
1Reemplace
/Applications/ServBay/package/php/8.3/current/bin/php
con la ruta real del archivo ejecutablephp
de su versión objetivo de PHP. La salida del comando mostraráextension_dir => /path/to/extension/directory
.
Paso 3: Descomprimir y colocar los archivos del Loader
- Abra la aplicación de terminal (Terminal).
- Utilice el comando
cd
para acceder al directorio donde descargó el archivo.tar.gz
(generalmente es el directorioDownloads
).bashcd ~/Downloads
1 - Descomprima el archivo descargado:bashEsto creará un directorio llamado
tar -zxvf ioncube_loaders_dar_arm64.tar.gz
1ioncube
. - Ingrese al directorio
ioncube
:bashcd ioncube
1 - Dentro de este directorio, verá los archivos
.so
correspondientes a diferentes versiones de PHP, comoioncube_loader_dar_8.3.so
. Encuentre el archivo que coincida con la versión de PHP que estableció como objetivo (la versión determinada en el paso 2, por ejemplo, 8.3). - Copie este archivo
.so
coincidente en el directorio de extensiones de PHP que determinó en el paso 2. Supongamos que la ruta objetivo es la del ejemplo anterior y desea instalar el 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- Asegúrese de reemplazar la ruta objetivo con la ruta real del directorio de extensiones de su versión de PHP.
- Asegúrese de copiar el archivo
.so
que coincida exactamente con la versión de PHP.
Paso 4: Configurar PHP en ServBay
Regrese a la interfaz de la aplicación ServBay.
Asegúrese de que en la izquierda esté seleccionada la opción Languages y luego haga clic en la versión de PHP que desea configurar (por ejemplo, PHP 8.3).
En la sección de configuración desplegada a la derecha, haga clic en la pestaña PHP (como se muestra en la flecha 1 de la imagen).
Desplácese hacia abajo y busque el cuadro de texto Additional Parameters (Parámetros adicionales).
En este cuadro de texto, agregue la siguiente línea (como se muestra en la flecha 2 de la imagen), especificando la ruta relativa al archivo ionCube Loader:
inizend_extension = ioncube_loader_dar_8.3.so
1- Nuevamente, es importante: el archivo
so
debe estar estrictamente ubicado en la rutaextension_dir
que se obtuvo en el paso 3. Verifique cuidadosamente. - Utilice
zend_extension
en lugar deextension
, ya que ionCube Loader es una extensión de Zend. - Si ya hay otras configuraciones en este cuadro de texto, agregue esta directiva en una nueva línea.
- Nuevamente, es importante: el archivo
Haga clic en el botón Save (Guardar) en la esquina inferior derecha para guardar la configuración.
Paso 5: Reiniciar el servicio PHP
Después de hacer clic en el botón de guardar, ServBay ya ha reiniciado automáticamente el servicio PHP.
Paso 6: Verificar si la carga fue exitosa
Puede verificar de dos maneras si ionCube Loader se ha cargado correctamente:
A través de la línea de comandos:
Abra la terminal.
Ejecute el siguiente comando (asegúrese de usar la ruta completa de la versión de PHP objetivo):
bash/Applications/ServBay/package/php/8.3/current/bin/php -m | grep -i ioncube
1Si se cargó correctamente, debería ver una salida similar a
ionCube Loader
.También puede ejecutar
php -v
para ver la información de la versión; generalmente, tras cargar ionCube, mostrará información relacionada:bash/Applications/ServBay/package/php/8.3/current/bin/php -v
1Ejemplo de salida:
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
A través de phpinfo():
- Cree un archivo PHP que contenga
<?php phpinfo(); ?>
(por ejemplo,info.php
) y colóquelo en el directorio raíz de su sitio web. - Acceda a este archivo a través de un navegador (por ejemplo,
http://your-local-site.test/info.php
). - Busque "ionCube" en la página de salida de
phpinfo()
. Si la carga fue exitosa, verá un bloque de información específico de ionCube Loader que mostrará su versión y otros detalles.
- Cree un archivo PHP que contenga
Resumen
Siguiendo los pasos anteriores, debería poder cargar con éxito ionCube Loader o cualquier otra extensión PHP de terceros para la versión específica de PHP gestionada por ServBay. La clave está en encontrar el archivo de extensión correcto, determinar el directorio de extensiones de PHP adecuado y agregar la directiva correcta en la configuración de ServBay (zend_extension
o extension
). Si encuentra problemas, verifique cuidadosamente las rutas, los permisos de los archivos y si ha reiniciado el servicio PHP.