Compilare PHP nativamente su IBM i con l’ambiente Open Source (prendendolo direttamente dal repository ufficiale – GITHUB)

GiWi IBM i iTips

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!