How Compiled PHP GUI Applications Work

GUI applications made with ExeOutput for PHP are feature-rich applications: they combine several technologies such as PHP, JavaScript, the Chromium rendering (CEF3) engine, HEScript and Windows API together.

An application with a custom interface

ExeOutput for PHP creates a single executable file: end users just need to double-click it to start the application. A main window that mimics a web browser appears and displays your PHP pages. End users browse PHP pages as if they were hosted on a remote server.

You can moreover design your own user interface style provided by your compiled application: browser style or modern Windows app. It is up to you thanks to the integrated user interface designer.

An application featuring three components

Your compiled application has three components: the internal browser, the internal storage and the PHP engine.

Compiled PHP Application

Internal Browser

The internal browser lets end users navigate through your compiled website. Almost everything of the browser (interface, navigation menus, features) can be customized. The HTML rendering engine is Chromium through the use of the Chromium Embedded Framework version 3.

Any HTML page that is compatible with Google Chrome should be successfully rendered by the internal browser and keep its functionality. Of course, the main difference with Chrome is that source HTML and PHP files of your website are never directly accessible by the end user. As shown on the flowchart above, the user has no access to the internal storage. Moreover, several options let you protect your HTML source code: for instance, the context menu with the "Show Source code" command is disabled by default, without any JavaScript trick.


Console (CLI) applications do not have an internal browser: PHP works in CLI mode.

Internal Storage

The internal storage contains source files that were compressed and encoded by ExeOutput for PHP. It also manages a virtual storage in memory where files may be unpacked to (when required). The internal storage is only accessed by the internal browser and the PHP engine.

PHP Runtime

The PHP runtime is called by the browser each time a PHP script has to be displayed. The PHP runtime interprets PHP code and generally returns HTML data that is displayed inside the browser. It retrieves all PHP files and other files from the internal storage.

All standard PHP functions may be used and you can even access remote web servers (database servers for instance) or local files. ExeOutput for PHP provides you with several functions to load and save local files:

Accessing Files in Compiled PHP Applications

How to create and save files with PHP

Advice for getting started with PHP applications in ExeOutput for PHP