Come caricare estensioni PHP di terze parti in ServBay
ServBay viene fornito con moduli di estensione PHP comunemente usati, e gli utenti devono semplicemente configurare e abilitare le estensioni nella sezione lingua
- versione PHP
- estensioni
di ServBay.
Tuttavia, a volte gli utenti potrebbero avere bisogno di caricare moduli che non sono inclusi in ServBay. Questo articolo spiega come realizzare questo processo.
ServBay consente agli utenti di caricare in modo flessibile estensioni PHP di terze parti per l'ambiente PHP gestito. Questo documento utilizzerà ionCube Loader come esempio per guidarvi attraverso l'intero processo. Questo procedimento è utile anche per caricare altre estensioni di Zend o estensioni PHP compilate dall'utente (file .so
).
Nota: ionCube Loader è un'estensione Zend, pertanto si deve utilizzare l'istruzione zend_extension
durante la configurazione, e non l'istruzione extension
.
Requisiti
- Avete già installato e state eseguendo ServBay.
- Avete privilegi di amministratore per accedere ai file di sistema e all'interfaccia di configurazione di ServBay.
- Siete familiari con l'uso dell'app terminale di macOS.
Attenzione
ServBay offre pacchetti software PHP per architetture native sia per chip Intel che per Silicon (M1/M2/M3/M4). Quando caricate file so
, assicuratevi di verificare che l'architettura del file so
caricato sia compatibile con quella del pacchetto di ServBay.
File con architetture diverse non possono essere mescolati; un'incoerenza nell'architettura causerà il crash di PHP.
- Determinate l'architettura del pacchetto PHP fornito con ServBay:
file /Applications/ServBay/package/php/8.3/current/bin/php
Le informazioni di output potrebbero assomigliare a questo:
php: Mach-O 64-bit executable arm64 # Architettura Arm64 per Silicon
php: Mach-O 64-bit executable x86_64 # Architettura x86 per Intel
2
- Determinate l'architettura del file
so
che desiderate installare:
file xdebug.so
L'output potrebbe assomigliare a questo:
xdebug.so: Mach-O 64-bit bundle arm64 # Architettura Arm64 per Silicon
xdebug.so: Mach-O 64-bit bundle x86_64 # Architettura x86 per Intel
2
Passaggi Operativi
Passo 1: Scaricare ionCube Loader
- Visitate il sito ufficiale di download di ionCube Loader. Per macOS ARM64 (chip Apple Silicon M), scaricate la versione Darwin ARM64. Potete usare direttamente il seguente link (controllate se ci sono versioni aggiornate): https://downloads.ioncube.com/loader_downloads/ioncube_loaders_dar_arm64.tar.gz
- Una volta completato il download, otterrete un file compresso
.tar.gz
, ad esempioioncube_loaders_dar_arm64.tar.gz
.
Passo 2: Determinare la versione PHP target e la directory delle estensioni
Aprite l'applicazione ServBay.
Nel menu a sinistra, cliccate su Languages.
Nella lista a destra, trovate la versione PHP per la quale volete installare ionCube Loader (ad esempio, in questo caso PHP 8.3). Annotate questo numero di versione.
Le estensioni PHP di ServBay vengono solitamente memorizzate in percorsi specifici. Secondo la struttura di installazione standard di ServBay e gli esempi di screenshot, la directory delle estensioni per PHP 8.3 potrebbe assomigliare a:
/Applications/ServBay/package/php/8.3/8.3.16/lib/php/extensions/no-debug-non-zts-20230831/
/Applications/ServBay/package/php/
è il percorso di base del pacchetto PHP di ServBay.8.3/
è la directory della versione principale.8.3.16/
è la directory della versione PHP specifica (regolate in base alla vostra versione installata).lib/php/extensions/
è la directory padre delle estensioni.no-debug-non-zts-xxxxxxxx/
è la directory specifica per la versione API e le opzioni di compilazione (questo nome di directory cambierà con la versione di PHP).
Importante: È necessario determinare o trovare questo percorso esatto in base alla versione PHP effettivamente installata in ServBay e alla sua architettura. Potete anche cercare tramite il comando del terminale (assicuratevi di utilizzare il percorso PHP gestito da ServBay):
bash/Applications/ServBay/package/php/8.3/current/bin/php -i | grep extension_dir
1Sostituite
/Applications/ServBay/package/php/8.3/current/bin/php
con il percorso effettivo del file eseguibilephp
della vostra versione PHP target. L'output del comando mostreràextension_dir => /path/to/extension/directory
.
Passo 3: Estrarre e posizionare i file del Loader
- Aprite l'app terminale (Terminal).
- Usate il comando
cd
per entrare nella directory dove avete scaricato il file.tar.gz
(di solito la directoryDownloads
).bashcd ~/Downloads
1 - Decomprimete il file scaricato:bashQuesto creerà una directory chiamata
tar -zxvf ioncube_loaders_dar_arm64.tar.gz
1ioncube
. - Entrate nella directory
ioncube
:bashcd ioncube
1 - In questa directory, vedrete i file
.so
corrispondenti a diverse versioni di PHP, ad esempioioncube_loader_dar_8.3.so
. Trovate il file che corrisponde alla vostra versione PHP target (determinata al passo 2, ad esempio 8.3). - Copiate questo file
.so
corrispondente nella directory delle estensioni PHP che avete identificato al passo 2. Supponiamo che la directory target sia il percorso esemplificato sopra e che vogliate installare il Loader per 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- Assicuratevi di sostituire il percorso di destinazione con la reale directory delle estensioni della vostra versione PHP.
- Accertatevi che il file
.so
copiato corrisponda esattamente alla versione di PHP.
Passo 4: Configurare PHP in ServBay
Tornate all'interfaccia dell'applicazione ServBay.
Assicuratevi che Languages sia selezionato a sinistra, poi cliccate sulla versione PHP che volete configurare (ad esempio PHP 8.3) nella lista a destra.
Nella sezione di configurazione espandibile a destra, cliccate sulla scheda PHP (come mostrato nella freccia 1 nella figura sottostante).
Scorrete verso il basso per trovare il campo di testo Additional Parameters (Parametri aggiuntivi).
In questo campo di testo, aggiungete la seguente riga (come mostrato nella freccia 2 nella figura sottostante), specificando il percorso relativo del file ionCube Loader:
inizend_extension = ioncube_loader_dar_8.3.so
1- Ribadiamo: il file
so
deve trovarsi esattamente nel percorsoextension_dir
ottenuto al passo 3. Controllate attentamente. - Usate
zend_extension
invece diextension
, poiché ionCube Loader è un'estensione Zend. - Se ci sono già altre configurazioni in questo campo di testo, aggiungete questa istruzione su una nuova riga.
- Ribadiamo: il file
Cliccate sul pulsante Save in basso a destra per salvare la configurazione.
Passo 5: Riavviare il servizio PHP
Dopo aver cliccato il pulsante di salvataggio, ServBay riavvierà automaticamente il servizio PHP.
Passo 6: Verificare se il caricamento è andato a buon fine
Ci sono due modi per verificare se ionCube Loader è stato caricato correttamente:
Tramite linea di comando:
Aprite il terminale.
Eseguite il seguente comando (assicuratevi di usare il percorso completo della versione PHP target):
bash/Applications/ServBay/package/php/8.3/current/bin/php -m | grep -i ioncube
1Se il caricamento è andato a buon fine, dovreste vedere un output simile a
ionCube Loader
.Potete anche eseguire
php -v
per vedere le informazioni sulla versione; di solito, dopo aver caricato ionCube, verranno visualizzate informazioni correlate:bash/Applications/ServBay/package/php/8.3/current/bin/php -v
1Esempio di output:
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
Tramite phpinfo():
- Create un file PHP contenente
<?php phpinfo(); ?>
(ad esempioinfo.php
) e posizionatelo nella root del vostro sito. - Accedete a questo file tramite il browser (ad esempio
http://your-local-site.test/info.php
). - Nella pagina di output di
phpinfo()
, cercate "ionCube". Se il caricamento è andato a buon fine, dovreste vedere un blocco informativo dedicato ad ionCube Loader, con dettagli come la sua versione.
- Create un file PHP contenente
Conclusione
Seguendo i passaggi sopra, dovreste essere in grado di caricare con successo ionCube Loader o altre estensioni PHP di terze parti per la versione specifica di PHP gestita da ServBay. La chiave è trovare il file di estensione corretto, determinare il giusto percorso alle estensioni PHP e aggiungere l'istruzione corretta nella configurazione di ServBay (zend_extension
o extension
). Se riscontrate problemi, controllate attentamente i percorsi, i permessi dei file e se avete riavviato il servizio PHP.