ExeOutput for PHP
  • Discover
    Homepage
    Our Latest News and Articles

    Keep up-to-date with the latest developments, insightful articles.

    Why a PHP Compiler?

    Reasons for using our PHP compiler ExeOutput for PHP.

    Screenshots

    Get a visual tour of our software through various screenshots.

    Video and Screencasts

    Access a range of video content, from detailed tutorials to product demos.

  • Feature Tour
    All-in-one PHP to EXE Compiler
    Use PHP power to create Windows apps
    Full HTML5, JavaScript and CSS3 Support
    Make GUI And Console Apps with PHP
  • Downloads
    Get ExeOutput for PHP

    Download the installer of our PHP to EXE compiler

    PHP App Examples

    Download sample apps made with ExeOutput for PHP

    WordPress Desktop App

    Download the stand-alone WordPress app sample

  • Buy Now
  • Learn
    Documentation

    Full online documentation of ExeOutput for PHP

    PHP App Samples

    Example projects made with ExeOutput for PHP for various cases

    ChangeLog

    Version history and releases of ExeOutput for PHP

    Privacy Policy

    See our Privacy Policy for ExeOutput for PHP

    About Us

    More information about G.D.G. Software

  • Support
    Contact Us

    Contact our staff or open a support ticket

    Newsletter

    Stay Updated: subscribe to our newsletter

    Frequently Asked Questions

    Find your answer directly in our FAQ

    Support Center

    Get direct support for ExeOutput for PHP

    Affiliate Program

    Join our affiliate program to promote ExeOutput and earn money

    Community Forum

    Visit our support forum and ask your questions

Try For Free
My Account

Getting Started

11
  • Welcome to ExeOutput for PHP
  • Getting Started
  • Starting a New Project
  • Advice for Getting Started with PHP Applications
  • How to Compile Your Project
  • How Compiled PHP GUI Applications Work
  • How Compiled PHP Console Applications (CLI) Work
  • Using PHP Frameworks
  • Visual C++ Redistributable Requirement
  • Application Command Line Switches
  • PHP Samples

Working With PHP

12
  • Working with PHP
  • Choose a PHP Version
  • Accessing Files in Compiled PHP Applications
  • Saving Files with PHP in Desktop Applications
  • Solving PHP Errors
  • Using the Save As Dialog Box in PHP Applications
  • Selecting Local Files with PHP (File Upload Replacement)
  • Built-In ExeOutput for PHP Functions
  • About PHP Sessions and Cookies
  • Global Variables
  • Using the cURL Extension
  • Using exec(), system() in Applications

Databases

4
  • Using Databases in Applications
  • MySQL and MariaDB Support
  • Using a Portable MySQL (MariaDB) Server
  • How to Check MySQL Server Connection

JavaScript And Browser

14
  • JavaScript and the Chromium Browser
  • Developer Tools in ExeOutput Applications
  • The exeoutput JavaScript Object API
  • JavaScript window extension
  • Special Protocols for Links
  • HTML5 and CSS3 Support
  • Using HTML5 Video and Audio
  • Print, Kiosk Printing, and PDF
  • Opening New Windows
  • JavaScript window extension
  • Using Flash Objects (SWF) in Compiled Applications
  • Adding Custom Headers to Requests
  • How to Configure Proxy for Your App
  • HTTP Basic Authentication

File Manager

4
  • File Manager
  • File Properties Editor
  • About External Files
  • Internal Code Editor

Application Settings

9
  • Choosing and Configuring the Rendering Engine
  • Chromium Embedded Framework (CEF) Settings
  • WebView2 Rendering Engine Settings
  • Main Window Settings
  • UI Skin Properties
  • Application Components
  • Language and Localization
  • Startup and Exit Messages
  • Application Settings – Dialog Boxes

PHP Settings

7
  • PHP Settings – Main Settings
  • PHP Settings – PHP Extensions
  • PHP.ini Settings
  • PHP Settings – String Protection
  • PHP Settings – PHP Debugging
  • PHP Settings – External HTTP Server
  • Redirection and Routing

User Interface

13
  • User Interface Components
  • User Interface Editor
  • UI Control Actions
  • How to Modify Controls at Runtime
  • Status Bar Properties
  • Printer Properties
  • Tray Icon Properties
  • Context Menu Properties
  • Creating a Ribbon for Your Application
  • Toolbars in Your PHP Application
  • Menu Bar in your PHP application
  • Adding an Image or Logo to the UI
  • Using Timers and Cron Jobs in Your Application

Security

4
  • Security – Global Protection
  • Security – PHP Protection
  • Security – Code Signing (Digital Signatures)
  • Security – Licensing

Application Output

5
  • Application Output Settings
  • Output – Deployment Options
  • Application Loading Screens
  • Output – EXE Icon and Version Information
  • Output – Creating Installers or Zip Archives

Scripting with HEScript

9
  • Introduction to Scripting with HEScript
  • The HEScript Editor
  • Adding HEScript Code to Your Application
  • Script Templates
  • Running and Calling HEScript Procedures/Functions
  • HEScript Function Reference
  • How to Run an Executable Program
  • How to Prompt a User for Their Name Once and Store It
  • How to Call DLL Functions

Additional Information

6
  • Environment Options
  • Technical Notes Regarding Applications
  • Cloning a Project
  • Command Line Options
  • Contact Information
  • About this documentation
View Categories
  • Home
  • ExeOutput for PHP Help
  • Application Output
  • Output – Deployment Options

Output – Deployment Options

4 min read

ExeOutput for PHP is designed to generate the smallest possible application files, primarily through file compression.

Compressing Application EXE Files #

If you plan to distribute your application online, we recommend compressing it to minimize its size and download time. Several methods are available:

  • Compress the final .EXE file with UPX: UPX is a free executable packer available at upx.sourceforge.net. ExeOutput for PHP can automatically call UPX if you enable this option.

    Note

    For legal reasons, UPX is not included with ExeOutput for PHP. You must download the program from upx.sourceforge.net and extract the archive into the UPX subfolder (e.g., C:\Program Files\ExeOutput for PHP\UPX). Alternatively, use the Web Update utility (“Check for updates” option) to automatically install this add-on.

    Finally, if you enable Obsidium API support, UPX compression will be ignored.

  • Distribute the final .EXE file using an installer: You can use Paquet Builder to create an installer for your .EXE file, optimized for online distribution.

    See Distributing Applications.

Do Not Cache CEF Files Locally #

Chromium Embedded Framework (CEF) runtime files are large (approximately 50 MB), which typically results in several seconds of decompression during application startup. To eliminate this decompression step and speed up loading, the application will decompress and store CEF runtime files in a shared cache folder the first time it runs. If the runtime files already exist, they are used directly without re-decompression.

Learn more about the CEF engine.

If you prefer not to store CEF runtime files (e.g., to save disk space) on the user’s computer, you can enable the Do not cache CEF files locally option. However, this will cause the application to take longer to load on subsequent runs.

The cache folder is shared across all applications built with ExeOutput for PHP. By default, the cache folder path is:

C:\ProgramData\GDG Software\ExeOutput for PHP App Cache\CEFXXXX

where XXXX represents the version number of the Chromium Embedded Framework used in ExeOutput for PHP.

A different name will be used if you have configured a custom name for the storage folder (see below).

Leaving CEF Runtime Files Outside the EXE #

ExeOutput for PHP does not compile the essential Chromium Embedded Framework runtime files into your application’s .EXE file, saving approximately 40 MB in size. However, the application will not function if these files are missing, and you will encounter the error message: missing CEF3 files!

You can use this option only if you are certain to install these files yourself. For example, these files can be installed automatically using the exocefruntimeXXXX.exe installer available in the Redist subfolder of your ExeOutput for PHP installation. Alternatively, you can find them in the CEFRuntime subfolder of your ExeOutput for PHP installation. The files must be placed in the shared cache folder (see the section above).

Portable Applications #

ExeOutput for PHP can create portable versions of your applications.

  • No installation is required; your application is stored on a removable device, such as a USB flash drive, allowing it to be used on multiple computers.
  • User preferences and application settings are stored with the software (i.e., they are written to the USB drive). Thus, users retain their preferences even when running the application on different PCs.
  • The Windows Registry is not used.
  • No permanent modifications are made to any PC after the application is used.

Portable applications create one data file in addition to their .EXE file:

  • The state file (user preferences, global variables, etc.) is named: [name of the EXE].userpref

The state file is saved in the same folder as the .EXE file. Consequently, the storage device must not be read-only. If the application is unable to write the file in the same folder as its .EXE file, it will use the default location on the hard disk. The default location is a subfolder in the User Data directory, which you can customize.

If you do not create a portable version, you can specify a custom name for the storage folder where the application will store its settings. By default, it will be a subfolder in the User Data directory. You can obtain the full path at runtime from the global variable HEPubStorageLocation.

Explore Storage Folder

To easily access this folder for testing and debugging, you can click the Explore Storage Folder button on the Deployment page. This will open the storage folder for the last compiled application in Windows Explorer.

Warning

Avoid using expiration features for portable applications. Portable applications store their settings on the USB drive. Consequently, trial settings are also saved on the drive, allowing users to easily reset their trial period by removing the settings files.

What are your Feelings

  • Happy
  • Normal
  • Sad

Share This Article :

  • Facebook
  • X
  • LinkedIn
  • Pinterest
Application Output SettingsApplication Loading Screens

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Table of Contents
  • Compressing Application EXE Files
  • Do Not Cache CEF Files Locally
  • Leaving CEF Runtime Files Outside the EXE
  • Portable Applications
ExeOutput for PHP to EXE compiler

PHP to EXE App Compiler
© G.D.G. Software 2025

X-twitter Youtube
Software
  • Home
  • Feature Tour
  • Screenshots
  • Video and Screencasts
  • Home
  • Feature Tour
  • Screenshots
  • Video and Screencasts
Get
  • Download
  • Buy Now
  • PHP App Samples
  • My Account
  • Download
  • Buy Now
  • PHP App Samples
  • My Account
Connect
  • Latest News
  • Newsletter
  • Forum
  • Affiliate Program
  • Support Center
  • Latest News
  • Newsletter
  • Forum
  • Affiliate Program
  • Support Center
QUESTIONS?
  • Contact Us
  • FAQ
  • Documentation
  • Privacy Policy
  • About Us
  • Contact Us
  • FAQ
  • Documentation
  • Privacy Policy
  • About Us
Manage Consent
To provide the best experiences, we use technologies like cookies to store and/or access device information. Consenting to these technologies will allow us to process data such as browsing behavior or unique IDs on this site. Not consenting or withdrawing consent, may adversely affect certain features and functions.
Functional Always active
The technical storage or access is strictly necessary for the legitimate purpose of enabling the use of a specific service explicitly requested by the subscriber or user, or for the sole purpose of carrying out the transmission of a communication over an electronic communications network.
Preferences
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistics
The technical storage or access that is used exclusively for statistical purposes. The technical storage or access that is used exclusively for anonymous statistical purposes. Without a subpoena, voluntary compliance on the part of your Internet Service Provider, or additional records from a third party, information stored or retrieved for this purpose alone cannot usually be used to identify you.
Marketing
The technical storage or access is required to create user profiles to send advertising, or to track the user on a website or across several websites for similar marketing purposes.
  • Manage options
  • Manage services
  • Manage {vendor_count} vendors
  • Read more about these purposes
View preferences
  • {title}
  • {title}
  • {title}