Compilare PHP nativamente su IBM i con l’ambiente Open Source (prendendolo direttamente dal repository ufficiale – GITHUB)
Negli ultimi anni l’ambiente Open Source su IBM i ha reso possibile eseguire e persino compilare linguaggi come PHP direttamente all’interno del sistema.
In questo articolo vediamo passo passo come effettuare la compilazione di PHP nativamente su IBM i, sfruttando gli strumenti disponibili nell’ambiente QOpenSys.
Il risultato finale sarà una versione di PHP completamente funzionante e testabile anche tramite web server integrato.
Preparazione dell’ambiente
Il primo passo consiste nel collegarsi al sistema IBM i attraverso un terminale SSH oppure tramite il comando CALL QP2TERM.
// Prerequisiti: Ambiente OPEN Source Installato
// Connettersi con un terminale SSH o CALL QP2TERM
Successivamente, impostiamo il PATH per includere la directory che contiene gli eseguibili dell’ambiente Open Source, in modo che i comandi possano essere richiamati direttamente da terminale:
PATH=/Qopensys/pkgs/bin:$PATH
Installazione dei prerequisiti
Tramite il gestore dei pacchetti ‘yum’ installiamo tutti i software necessari alla compilazione di PHP, tra cui autoconf, gcc e git. Questi strumenti sono fondamentali per costruire e configurare il codice sorgente.
yum install autoconf re2c libtool bison gcc git nano
Download del sorgente PHP
Creiamo ora una directory di lavoro dedicata, all’interno della home, dove verrà scaricato e compilato il codice sorgente di PHP:
mkdir /home/PHP
cd /home/PHP
Successivamente, cloniamo il repository ufficiale di PHP da GitHub per ottenere l’ultima versione in sviluppo:
git clone https://github.com/php/php-src.git
Configurazione e compilazione
Entriamo nella directory appena creata e inizializziamo l’ambiente di build tramite lo script ‘buildconf’:
cd php-src
./buildconf
A questo punto configuriamo il processo di compilazione. I parametri indicano che vogliamo una build per architettura PowerPC 64 bit, disattivando tutte le estensioni per velocizzare la compilazione.
Le opzioni CFLAGS e LDFLAGS ottimizzano rispettivamente il codice e la gestione dei link dinamici. Con l’opzione -q l’output della progressione viene evitato velocizzando il processo, specialmente se si usa QP2TERM evitando quindi la visualizzazione di tutti i blocchi dei log di tutti i processi.
./configure -q --host=powerpc64-ibm-aix6 --build=powerpc64-ibm-aix6 --disable-all --disable-phpdbg CFLAGS='-O3' LDFLAGS='-Wl,-bbigtoc -pthread' php_sapi_module='shared' PHP_BUILD_ARCH=ppc64
Impostiamo poi la modalità di compilazione a 64 bit, assicurandoci che tutti gli oggetti generati siano coerenti con l’architettura del sistema:
export OBJECT_MODE=64
Infine, avviamo la compilazione vera e propria utilizzando 6 processi in parallelo per ridurre i tempi. L’opzione ‘-s’ sopprime l’output, quindi è normale che non venga mostrato nulla a schermo, e la presenza di qualche warning non è un problema.
make -j6 -s
Verifica della compilazione
Per verificare che la compilazione sia andata a buon fine, eseguiamo il binario appena generato e controlliamo la versione di PHP:
$PWD/sapi/cli/php --version
Se tutto è andato correttamente, otterremo un output simile al seguente, che conferma la build avvenuta con successo:
PHP 8.6.0-dev (cli) (built: Oct 13 2025 16:20:33) (NTS ppc64)
Copyright (c) The PHP Group
Zend Engine v4.6.0-dev, Copyright (c) Zend Technologies
with Zend OPcache v8.6.0-dev, Copyright (c), by Zend Technologies
Test del server integrato
Una volta confermato che PHP è funzionante, possiamo testare il server web integrato per verificare anche la parte SAPI. Creiamo una directory dedicata e un semplice file test.php:
mkdir testserver
cd testserver
nano test.php
Infine, avviamo il server integrato specificando l’indirizzo IP e la porta da utilizzare:
<?php
echo phpInfo();
?>
/home/PHP/php-src/sapi/cli/php -S 10.0.11.135:8000
Digitare nel browser http://10.0.11.135:8000/test.php
Conclusione
Abbiamo visto come sia possibile compilare PHP direttamente su IBM i utilizzando l’ambiente Open Source.
Questa procedura consente di ottenere una versione completamente personalizzata e ottimizzata per la propria architettura PowerPC.
Una volta configurato il server integrato, possiamo testare applicazioni PHP o integrarlo con servizi IBM i per lo sviluppo di soluzioni web moderne e performanti.
Scopri come integrare questa build nel tuo ambiente aziendale, risolvere eventuali criticità o estendere le funzionalità con moduli avanzati: contattaci per una consulenza personalizzata su Open Source & IBM i!