Come convertire uno script php in un file eseguibile exe per Windows
Gli script php congiunti con altri script e codice html sono in grado di generare applicazioni Web ad elevata efficacia.
Un codice di programmazione molto valido quando si vuole realizzare un’applicazione cross-platform, ovvero indipende dal Sistema operativo utilizzato.
Dunque possiamo realizzare applicazioni e metterle in cloud (sul web) per renderle utilizzabili a livello aziendale.
Ci sono casi dove per motivazioni varie si necessita di trasportare queste appllicazioni in file eseguibili standalone e di proteggere il codice da violazioni o copiature e redistribuzione. Ma anche semplicemente per evitare di installare software particolari, come ad esempio un personal web server sul computer del cliente, che magari si ritroverebbe a dover lanciare altri software per poter eseguire correttamente l’applicazione Web in php.
Come personal web server troviamo ad esempio Abyss Web Server, EasyPhp, Wamp Server, e tanti altri…una lunga lista.
Per far “girare” la nostra applicazione in php abbiamo bisogno che prima sia in esecuzione il server web, coi relativi servizi associati. Talvola può essere ostico all’utente finale e una soluzione con un file eseguibile (exe) potrebbe risolvere tanti problemi e far si che l’utente finali apprezzi dipiù il prodotto.
E’ possibile convertire gli script di php in codice eseguibile?
Nella realtà è una operazione complessa e non sempre fattibile. Vorrebbe dire di tradurre il codice php e relativi script e codici html inglobati in altri codici di programmazione ad esempio in phyton o in framework (.net).
Tra i vari progetti che potrebbero svolgere questa funzione troviamo
Phalanger: Phalanger è un’implementazione PHP open source che introduce il linguaggio PHP nella famiglia di linguaggi .NET compilati. Fornisce alle applicazioni PHP un ambiente di esecuzione veloce ed estremamente compatibile con la vasta gamma di codice PHP esistente. Phalanger offre agli sviluppatori di applicazioni Web la possibilità di trarre vantaggio sia dalla facilità d’uso che dall’efficacia del linguaggio PHP e dalla potenza e dalla ricchezza della piattaforma .NET sfruttando il meglio da entrambi i lati.
Un progetto un po obsoleto, ultimo aggiornamento a luglio 2017versione php 5.4
Sito Web Ufficiale di Phalanger
Bambalam: Bambalam PHP EXE Compiler / Embedder è uno strumento da riga di comando gratuito per convertire le applicazioni PHP in applicazioni Windows .exe autonome. I file exe prodotti sono totalmente autonomi, non sono necessarie php dll ecc. Il codice php è codificato utilizzando la libreria Turck MMCache Encode, quindi è una soluzione perfetta se si desidera distribuire l’applicazione proteggendo il codice sorgente. Il convertitore è adatto anche per la produzione di file .exe per applicazioni PHP con finestre (create usando ad esempio la libreria WinBinder). È anche utile per creare server / client PHP Socket autonomi (usando l’estensione php_sockets.dll). NON è davvero un compilatore, nel senso che non produce codice macchina nativo da fonti PHP, ma funziona!
I nostri test di utilizzare bambalam per applicazioni di eleborazione csv complessi non ha portato a buoni risultati.
Il progetto lo troviamo su sourgeforce.net. Ultimo aggiornamento 2015.
RapidEXE: Crea un eseguibile di Windows in pochissimo tempo. Devi solo creare un’applicazione console nella tua lingua preferita, quindi compilarla in un file EXE Windows indipendente in pochi secondi! È facile, stabile e compatto. Il tuo progetto può essere facilmente gestito da file di configurazione semplicissimi, tutto ciò di cui hai veramente bisogno è un editor di testo semplice e un prompt dei comandi.
Phyton o php il convertitore ha un motore per ogni generatore. RapidEXE, in quanto successore più intelligente di PHPFlexer, può gestire lingue e versioni diverse. I seguenti motori sono inclusi nel pacchetto di avvio:
- PHP 5.4 per Win32 (compatibile con XP!)
- PHP 7.2 per Win32
- PHP 7.2 per Win64
- Python 3.7 per Win32
Sito Ufficiale RapidEXE.
Trasportare l’applicazione php in un file eseguibile
Questa definizione è più consona per alcuni software che implementano un Web Server Integrato e un browser al fine di compilare il codice php e i tools indicati in un’unica applicazione.
Questa soluzione permette di generare un file eseguibile contenente gli strumenti necessari, compreso il browser, per far funzionare i nostri script php, html, javascript, database in un file eseguibile senza l’ausilio di altri software e senza che il codice php sia in chiaro, ma convertito.
Per realizzare questi progetti troviamo
ZZEE PHPExe: software commerciale, ZZEE PHPExe compila i file PHP, HTML, Javascript, Flash e altri file Web negli ex GUI di Windows. È possibile sviluppare rapidamente applicazioni GUI di Windows utilizzando il familiare paradigma Web PHP. Puoi utilizzare lo stesso codice per applicazioni online e Windows con modifiche minime o nulle.
Sito ufficiale ZZEE PHPExe. Un progetto un po datato compatibilità Windows 7/8 IE9
PHC-win: Il compilatore b estensione PHP viene utilizzato per compilare il codice dello script PHP in bytecode PHP. Questo bytecode può essere incluso come qualsiasi file php purché sia caricata l’estensione bcompiler. Una volta creati tutti i file bytecode, viene utilizzato un Embeder modificato per comprimere tutti i file di progetto nell’exe del programma.
Sito ufficiale: phc-win. Ultimo aggiornamento dicembre 2009
PHPDesktop: PHP Desktop è un progetto open source fondato da Czarek Tomczak nel 2012 per fornire un modo per sviluppare applicazioni desktop native usando tecnologie web come PHP, HTML5, JavaScript e SQLite. Questo progetto è molto più di un semplice compilatore da PHP a EXE, incorpora un browser web (Internet Explorer o Chrome incorporato), un web server Mongoose e un interprete PHP. Il flusso di lavoro di sviluppo a cui siete abituati rimane lo stesso, il passaggio per trasformare un sito Web esistente in un’applicazione desktop è fondamentalmente una questione di copiarlo nella directory “www /”. L’uso del database SQLite è facoltativo, è possibile incorporare il database mysql / postgresql nel programma di installazione dell’applicazione.
Su questo i nostri test sono stati abbastanza validi ma sempre con problemi per i fle csv di grandi dimensioni.
Sito ufficiale: PHPDesktop. ultimo aggiornamento gennaio 2020
ExeOutput for php: ExeOutput per PHP combina il runtime PHP e tutti i file di origine (PHP, HTML, risorse, JS, JSON, XML, PDF e altri mimetipi) in un unico EXE . Gestisci facilmente i file della tua applicazione da compilare con il File Manager integrato.
Software commerciale. Sito Ufficiale.
Infine abbiamo trovato anche Titanium: Utilizza le competenze di sviluppo Web per creare rapidamente app mobili complete e completamente native e sfruttare qualsiasi API della piattaforma nativa.
Titanium è un progetto Open Source del software commerciale AppAccelerator.
Conclusioni per utilizzare un covertitore php in file eseguibile
Arrivati al dunque possiamo dire che se si necessita di applicazioni personalizzate scritte in php dove si richiedono risorse elevate e che in server condiviso potrebbero non essere sufficienti, la soluzione attuale potrebbe ricadere su software tipo PHPDesktop ma necessita di molte conoscenze per poter trarne le dovute funzionalità.