PHP Settings - PHP Extensions

PHP comes with several extensions (databases, graphics, xml, libsodium for encryption...) that you can use in your php applications. ExeOutput for PHP is able to compile these extensions in the EXE directly or you may prefer to leave them as external files. In that case, they must be deployed with your EXE file.

You must tell ExeOutput for PHP which extensions are required by your application: this can be done with the extension list. No need to edit the PHP.INI yourself: ExeOutput for PHP manages the "Extensions" section itself.

php extensions list

To indicate a required extension, right click on it in the list and choose between the two options:

  • the extension can be compiled into the EXE file. No need to deploy it separately.

  • it can be left outside the EXE: in that case, it must be placed in the Data\ext subfolder. For instance, if your EXE is located at "c:\my documents\", the subfolder would be "c:\my documents\Data\ext". ExeOutput for PHP will copy the extensions to this folder automatically when compiling the application. When you deploy your application, this folder structure must be kept.

You can add more PHP extensions to the ones that come by default with the PHP distribution shipped with ExeOutput for PHP. With Windows Explorer, navigate to the folder where ExeOutput for PHP is installed on your computer and place the new DLL files in the "PHPRuntime ext" subfolder. Restart ExeOutput for PHP: the extensions will be listed automatically.


Some extensions may not be compatible with ExeOutput for PHP. Note that some extensions require additional files, drivers or separate installations on the end user's computer. Please refer to their dedicated documentation about how to deploy them.

If an extension is a ZEND extension, right click on it and choose "Consider as Zend extension". ExeOutput for PHP will load it properly then. This option is mandatory for some extensions such as ioncube's PHP encoder for instance.


Some extensions may require dependencies: ExeOutput for PHP will automatically detect these DLL dependencies (provided that they are in the corresponding ExeOutput's PHPRuntimeXX subfolder) and compile them into the EXE if you choose "Compile into the EXE" for the appropriate extension. On the contrary, if you choose "Copy ... outside the EXE", the DLLs will be copied to the same folder as your EXE file. For instance, the cURL extension requires additional dependencies named libeay32.dll, libssh2.dll, ssleay32.dll, nghttp2.dll. ExeOutput for PHP takes care of these DLLs when you use cURL in your PHP app.