PHP includes several extensions (for databases, graphics, XML, libsodium encryption, etc.) that you can use in your PHP applications. ExeOutput for PHP can compile these extensions directly into the EXE, or you can leave them as external files. In the latter case, they must be deployed with your EXE file.
You must specify which extensions your application requires in the extension list. There is no need to edit the php.ini file yourself; ExeOutput for PHP manages the “Extensions” section automatically.

To specify a required extension, right-click it in the list and choose one of the two options:
- Compile into the EXE: The extension will be compiled into the EXE file, so there is no need to deploy it separately.
- Leave outside the EXE: The extension will be left as an external file. In this case, it must be placed in the
Data\extsubfolder. For instance, if your EXE is located atC:\My Documents\, the subfolder would beC:\My Documents\Data\ext. ExeOutput for PHP will automatically copy the extensions to this folder during compilation. When you deploy your application, this folder structure must be preserved.
You can add more PHP extensions to the default set provided with the PHP distribution that ships with ExeOutput for PHP. Using Windows Explorer, navigate to the ExeOutput for PHP installation folder and place the new DLL files in the PHPRuntimeXX\ext subfolder. Restart ExeOutput for PHP, and the new extensions will be listed automatically.
Info
Some extensions may not be compatible with ExeOutput for PHP. Note that some extensions require additional files, drivers, or separate installations on the user’s computer. Please refer to their respective documentation for deployment information.
If an extension is a Zend extension, right-click it and choose Consider as Zend extension. ExeOutput for PHP will then load it properly. This option is mandatory for some extensions, such as the ionCube PHP Encoder.
Note
Some extensions have dependencies. ExeOutput for PHP automatically detects these DLL dependencies (provided they are in the corresponding PHPRuntimeXX subfolder) and will compile them into the EXE if you choose “Compile into the EXE” for the extension. Conversely, if you choose “Copy…outside the EXE”, the dependency DLLs will be copied to the same folder as your EXE file.
For instance, the cURL extension requires additional dependencies such as libeay32.dll, libssh2.dll, ssleay32.dll, and nghttp2.dll. ExeOutput for PHP handles these DLLs for you when you use cURL in your PHP app.
Tip
Please refer to the sample using the GD2 library available in the General Demonstration, and to the sample using the cURL extension available in the General Demonstration.