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.
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.
TabToLinks¶
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.