Skip to content

Application Settings - Rendering Engine

This page allows you to select the version of the rendering engine for your PHP application's web pages and configure its properties.

About the Chromium Browser Used by Applications

The internal browser enables end users to navigate through your application's pages. ExeOutput for PHP utilizes the Chromium/Blink engine to render HTML content via the Chromium Embedded Framework.

ExeOutput for PHP 2024.2 offers a choice between Chromium version 131 (131.3.5), version 109 (the last version that accepts Windows 7 - CEF 109.1.18) and Chromium version 87 (the last version that supports the Flash player plugin).

Any HTML page compatible with Google Chrome or Microsoft Edge should render successfully in the internal browser while maintaining full functionality. Importantly, the source HTML and PHP files of your website are never directly accessible to the end user. Additionally, your application can utilize HTML5, JavaScript, CSS3, video, audio, YouTube videos, Adobe Flash, Adobe PDF, Flash video, media files, and more. Learn more about HTML5 and CSS3 support.

No web server is required: ExeOutput for PHP uses its own pluggable protocol that starts with https://heserver/ (secure protocol) or http://heserver/ or ghe://heserver/ (insecure versions) to display pages in the web browser, just like a regular website. Any compiled file in your application can be accessed from the web browser using the URL https://heserver/[virtual path], http://heserver/[virtual path], or ghe://heserver/[virtual path]. Learn more about accessing files.

Selecting the CEF Version to Use

Unless your project requires the Flash player and you cannot use the Ruffle alternative, we recommend always using the latest version of the CEF renderer. However, if you still need to use the Flash player as explained here, select the option named "CEF (Version 87) with old Flash support". The software will prompt you to install the necessary files using the Web Update utility if they are not already installed.

Warning

Applications built with the latest CEF versions require Windows 10 or later. Otherwise, an error message will be shown at startup. For Windows 7 support, please choose "CEF supporting Windows 7".

This setting also allows you to disable the use of Flash objects in your application.

Customize the Chromium Browser Options

In ExeOutput for PHP, navigate to Application Settings => Rendering Engine.

Configure Rendering Options

Here, you can configure a variety of Chromium options.

AdditionalChromiumArgs

Allows you to add custom Chromium command-line arguments. For example, to disable GPU-accelerated video display, add --disable-accelerated-video. Separate multiple arguments with spaces.

AllowOutdatedPlugins

Chromium has a security feature that prevents outdated plugins from running in the web browser. You can disable this feature with this property. Note: Allowing outdated plugins can expose your users to security vulnerabilities.

ApplicationCache

Controls whether the application cache can be used.

BackgroundColor

Sets the opaque background color used by the browser before a document is loaded and when no document color is specified. Only the RGB components of the specified value are used. The alpha component must be greater than 0 to enable the background color but will be ignored otherwise.

CaretBrowsing

Controls whether the caret position is displayed.

CustomUserAgent

Allows you to specify a custom User-Agent string for the web browser.

Databases

Controls whether databases can be used.

DefLocale

Defines the locale (language) used by the Chromium engine, useful for localizing default buttons, for instance. The list of available values is located in the CEFRuntime\locales subfolder of the ExeOutput for PHP installation directory.

For example, to use the French locale, enter fr.

DeveloperTools

Determines whether Chromium Developer Tools are enabled. End users can access these tools via the internal browser's context menu.

DevToolsInPopup

Enables Developer Tools in pop-up or secondary windows. When this option is enabled, Developer Tools can be accessed within secondary windows or pop-ups, functioning as independent windows.

DevToolsPort

Allows you to change the listening port for accessing Chromium Developer Tools in the application. For example, entering 9000 (the default value) lets you access the tools in any browser by navigating to http://localhost:9000. Note: The DeveloperTools property must be set to True.

DisableAccelerated2DCanvas

Controls whether accelerated 2D canvas can be used.

DisableAlertDialogWorkaround

Disables the status bar flicker (if the bar is hidden) related to the JavaScript dialog box workaround.

DisableBuiltInKeyHandling

Allows developers to disable ExeOutput's default keyboard event handling in applications built with ExeOutput for PHP and use the default Chromium engine's behavior. When set to true, this ensures full control over key events, enabling custom listeners to work without interference. For instance, you can override keys like F11 for custom fullscreen behavior or disable default shortcuts such as Ctrl++ and Ctrl+- for zooming, which might disrupt your application. By enabling this property, you will have to handle usual shortcuts such as F11 with JavaScript for instance.

DisableDragDrop

Controls whether drag-and-drop of external resources is allowed.

DisableFindDialog

Allows you to disable the Find dialog box (search box) in the internal browser (accessible with CTRL+F). When enabled, users will no longer have access to the search functionality within your application, preventing them from searching for text on displayed pages.

DisableImgDragDrop

Disables drag-and-drop functionality for images within the user interface. This is useful in scenarios where you want to prevent users from moving images or need precise control over drag-and-drop behavior. Additionally, it prevents users from dragging and dropping image files from the application into Windows File Explorer, which helps prevent unauthorized copying of image files.

DisableLocalCache

Prevents your application and the Chromium engine from storing cache and temporary files on the end user's computer. By default, these files are stored in a subfolder within the User Data directory as explained here.

DisableSafeBrowsing

Allows you to disable the use of the Google Safe Browsing service in your application.

DoNotTrack

Enables or disables the Do Not Track feature of the web browser.

EnableAcceleratedPlugins

Controls whether accelerated plugins can be used.

EnableGPUPlugin

Controls whether GPU plugins can be used.

EnableMediaStream

Determines whether WebRTC is enabled. For proper WebRTC support, it is recommended to use the secure HTTPS protocol. Therefore, do not disable the "Use secure HTTPS for internal protocol" option.

EnableSpeechInput

Controls whether the speech input API is enabled.

FileAccessFromFileUrls

Determines whether file URLs can access all URLs.

ForbidDownloadMimeType

Prevents downloads of specific internal resources (e.g., default video player). The Chromium engine allows end users to download a played video (or audio) resource using the context menu. If you cannot disable this menu from HTML, you can still prevent the download of audio or video files using this option.

For example, entering audio/mp3;audio/ogg will prevent .MP3 and .OGG files from being downloaded, though they can still be played by the video or audio player.

By default, ExeOutput for PHP forbids the following MIME types: application/pdf;audio/ogg;audio/x-mpg;audio/mp3;audio/mpeg;video/ogg;video/mp4;audio/webm;video/webm;audio/wav

ImageLoading

Enables or disables image loading.

ImageShrinkStandaloneToFit

Determines how images are resized to fit within their containers.

Javascript

Enables or disables JavaScript execution.

JavascriptAccessClipboard, JavascriptCloseWindows, JavascriptDomPaste, JavascriptOpenWindows

Customize JavaScript permissions for accessing the clipboard, closing windows, DOM paste operations, and opening windows.

LocalStorage

Enables or disables LocalStorage.

LogSeverity

Controls the verbosity of Chromium's debugging log:

  • Default logging (currently INFO level): LOGSEVERITY_DEFAULT
  • Verbose logging: LOGSEVERITY_VERBOSE
  • INFO logging: LOGSEVERITY_INFO
  • WARNING logging: LOGSEVERITY_WARNING
  • ERROR logging: LOGSEVERITY_ERROR
  • Disable logging completely: LOGSEVERITY_DISABLE (default in ExeOutput for PHP)

If enabled, the Chromium log file is stored in the same folder as the application’s .EXE file with the filename cefdebug.log. Ensure that the folder is writable to make the log available.

MuteAudio

If enabled, all audio playback is silenced.

PersistSessionCookies

Allows session cookies (cookies without an expiration date or validity period) to persist between application runs. Session cookies are typically transient, and most web browsers do not retain them.

PHPOverrideMimeType

Enables or disables whether PHP can set the MIME type (in HTTP headers) for the data stream sent to the rendering engine. Set this property to False if downloads generated by your PHP scripts (such as Excel files) fail.

Plugins

Enables or disables the use of plugins.

SendReferrer

Determines whether the web browser should include the referrer in HTTP headers.

Controls whether the Tab key can move focus to links.

TextAreaResize

Controls whether text areas can be resized by the user.

UniversalAccessFromFileUrls

Determines whether file URLs have access to all URLs.

WebGL

Enables or disables WebGL support.

WebSecurity

Controls whether web security restrictions (same-origin policy) are enforced. Disabling this setting is not recommended as it allows risky security behaviors such as cross-site scripting (XSS).

WindowlessFrameRate

This setting is ignored.

Proxy Settings

The Chromium engine can use a proxy to connect to the Internet. For more information, see how to modify proxy settings at runtime.

Note

For further explanations, please refer to the CEF3 project wiki.