Application Settings - Rendering Engine
This page allows you to choose the version of the rendering engine for the web pages of your PHP app as well as configure its properties.
About the Chromium Browser Used by Applications¶
The internal browser lets end users navigate through pages of your application. ExeOutput for PHP uses the Chromium / Blink engine to render HTML content thanks to the Chromium Embedded Framework.
ExeOutput for PHP 2021 lets you choose between Chromium version 89 (CEF 89.0.15) and Chromium version 87 (which is the last version that handles the Flash player plugin).
No web server is required: ExeOutput for PHP uses its own pluggable protocol that begins with
https://heserver/ (secure protocol) or
ghe://heserver/ (unsecure versions) to display pages in the web browser, as a normal web site. Any compiled file in your application can be accessed from the web browser with the URL
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 can not use the Ruffle alternative, we recommend that you always use the latest version of the CEF renderer. However, if you still want to use the Flash player as explained here, choose the option named "CEF (Version 87) with old Flash support". The software will then ask you to install the necessary files with the Web update utility if you have not already done so.
Lets you disable the use of Flash objects in your application.
Customize the Chromium Browser options¶
In ExeOutput for PHP, choose Application Settings => Rendering Engine.
A lot of Chromium options can be configured there.
Lets you add some custom Chromium command-line arguments. For example, if you want to disable the GPU accelerated video display, add
--disable-accelerated-video. To add multiple arguments, separate each two arguments by space.
The Chromium engine has a security feature that does not allow users to run any outdated plugins inside the web browser. You can disable it with this property. Please note that allowing the use of outdated plugins exposes your users to security vulnerabilities of those plugins.
Controls whether the application cache can be used.
Opaque background color used for the browser before a document is loaded and when no document color is specified.Only the RGB components of the specified value will be used. The alpha component must greater than 0 to enable use of the background color but will be otherwise ignored.
Controls whether the caret position will be drawn.
Lets you specify a custom User-Agent for the web browser.
Controls whether databases can be used.
Defines which locale (language) should be used by the Chromium engine (useful for localization of default buttons for instance). List of values are available in the
CEFRuntime\locales subfolder of the ExeOutput for PHP's location.
For instance, to use the French locale, enter
Indicates whether Chomium Developer Tools should be enabled or not. End users can access these tools with the context-menu of the internal browser.
Controls whether accelerated 2D canvas can be used.
Controls whether drag/drop of external resources is allowed or not.
Allows your application and Chromium engine to store cache and temporary files onto the end user's computer. By default, it will be a subfolder in the User Data directory as explained here.
Lets you disable the use of the Google Safe Browsing service in your application.
Lets you enable/disable the Do Not Track feature of the web browser.
Controls whether accelerated plugins can be used.
Controls whether GPUplugins can be used.
Controls whether WebRTC is handled or not. Note that, for correct WebRTC support, use of the secure protocol https is recommended. Thus, do not disable the "Use secure HTTPS for internal protocol" option.
Controls whether speech input API can be used.
Controls whether file URLs will have access to all URLs.
Prevents downloads of internal resources (for instance, on 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, it is still possible to prevent the download of the audio or video file using this option.
For instance, if you enter
audio/mp3;audio/ogg, ExeOutput will prevent .MP3 and .OGG files from being downloaded, but not played back by the video or audio player.
Allows images or not.
How images are resized.
Allows JS execution or not.
Customize JS permissions
Allow LocalStorage or not
Enable Chromium debugging log or not:
- Default logging (currently INFO logging)
- Verbose logging:
- INFO logging:
- WARNING logging:
- ERROR logging:
- Disables logging completely:
LOGSEVERITY_DISABLE(default in ExeOutput for PHP)
If enabled, the Chromium log file is then stored in the same folder as the application .EXE file and with the filename:
Ensure that the folder is writable if you want the log to be available.
If enabled, no audio will be played.
To allow session cookies (cookies without an expiry date or validity interval) to persist next time the application is run. Session cookies are generally intended to be transient and most Web browsers do not persist them.
This lets you enable or disable whether PHP can set the Mime type (in HTTP headers) for the data stream passed to the rendering engine.
Turn this property to False if some downloads generated by your PHP scripts (such as Excel files) fail.
Allows Plugins or not.
Should the web browser include the referrer into the HTTP headers.
Controls whether the tab key can advance focus to links.
Controls whether text areas can be resized.
Controls whether file URLs will have access to all URLs.
Allows Webgl or not.
Controls whether web security restrictions (same-origin policy) will be enforced. Disabling this setting is not recommend as it will allow risky/ security behavior such as cross-site scripting (XSS).
The Chromium engine can use a proxy for connecting to the Internet: please see how you can modify the proxy settings at runtime.
Please refer to the wiki of the CEF3 project for further explanation.