WinBinder - The native Windows binding for PHP 8.
WinBinder is an open source extension to PHP, the script programming language. It allows PHP programmers to easily build native Windows applications, producing quick and rewarding results with minimum effort. Even short scripts with a few dozen lines can generate a useful program, thanks to the power and flexibility of PHP.
- PHP 7.* ❌ (unsupported)
- PHP 8.3.29 ✅ (x64, x86, TS, NTS) - See 8.3 branch
- PHP 8.4.16 ✅ (x64, x86, TS, NTS) - Main branch
(For older PHP version compatibility please see PECL website for old .dll's)
Report them via github issues.
Forked from Wagy for PHP7 support
Updated for PHP 8.4 compatibility.
If you are forking this repository and want automated GitHub Releases to work, you MUST set up your GitHub Personal Access Token (PAT) in AppVeyor:
- Generate a GitHub PAT: Go to your GitHub Settings -> Developer settings -> Personal access tokens (classic) and generate a token with the
reposcope. - Add to AppVeyor:
- Open your project in AppVeyor.
- Go to Settings -> Environment.
- Click Add variable.
- Name:
GH_PAT(must be exactly this name). - Value: Paste your GitHub token.
- Click the lock icon next to the value to encrypt it.
- Click Save at the bottom of the page.
Note: Do not set the token in the "Deployment" or "Environments" sections of AppVeyor, as they are used for different purposes.
When using the php_winbinder.dll, you might encounter a Windows "Unknown Publisher" warning. This occurs because the DLL is currently not digitally signed.
Windows uses a feature called SmartScreen and User Account Control (UAC) to verify the origin of executable files and libraries. Since this is an open-source project and the binaries are often built on automated CI/CD systems without a paid developer certificate, Windows cannot verify the publisher.
To completely prevent this warning, the .dll file must be signed with a valid Code Signing Certificate from a trusted Certificate Authority (CA). If you are building your own application for distribution, it is recommended to sign all your binaries.
If you trust the source of the DLL, you can manually "unblock" it:
- Right-click on
php_winbinder.dll. - Select Properties.
- In the General tab, look for the Security section at the bottom.
- Check the Unblock box and click Apply or OK.
Alternatively, when the warning appears, you can often click "More info" and then "Run anyway" (if applicable).