Table of contents:
PHP Desktop is not meant as a professional environment for developing desktop applications like the ones you can see developed in C++ programming language. PHP Desktop is more of a GUI tool for converting your PHP web apps and PHP CLI tools to desktop applications with little effort. If you have a big PHP code base and want to reuse it on desktop then it makes sense to use PHP Desktop. If you are more efficient in PHP programming than in JS programming then it makes sense to use PHP Desktop instead of Electron. If you have PHP CLI tools that you would like to convert to GUI tools then it makes sense to use PHP Desktop than to rewrite everything in some other language or specific framework APIs. With PHP Desktop you can accomplish great things in no time and painlessly. But be aware that desktop integration APIs in PHP Desktop can be limited. This project is not supported by big companies like Electron is and thus its development resources are limited. Before creating a desktop application I suggest that you go through documentation and see if the desktop integration API you need is available in PHP Desktop. PHP Desktop doesn't provide many of the built-in desktop integration functionality that you can find in Electron, but you can still accomplish many of these tasks by integrating external tools/libraries with PHP Desktop.
In a certain sense phpdesktop acts as a PHP to EXE compiler. It embeds a web browser, a multi-threaded web server and a PHP interpreter, all embedded into a single application, a single folder, a portable zip that you can easily distribute to end users (or optionally make it an installer). The web server embedded is a custom edition of Mongoose (the MIT-licensed version), a web server used by NASA on International Space Station. Supported browsers are Internet Explorer and Google Chrome. The package with Chrome embedded has no external dependencies, everything is included in the phpdesktop binaries and works out of the box on a user's computer. PHP Desktop actually embeds Chromium browser (using Chromium Embedded Framework to be specific) which is open source software on which Google Chrome is based, but for the sake of simplicity we just call it Chrome or Google Chrome here.
All popular PHP frameworks are supported, see the PHP frameworks support wiki page for example configurations for CakePHP, CodeIgniter, Laravel, Symfony, Yii and Zend Framework. You can create a standalone executable for distribution with the help of the Inno Setup installer. PHP sources can be protected with the many of the available PHP encoders. PHP Desktop is released under non-restrictive license, thus it is free for commercial use.
It is one of the top goals for PHP Desktop to be stable, to work reliably. PHP Desktop does not suffer from memory leaks. PHP by design was never intended for running long hours/days, as desktop applications usually do. This is not a concern when using PHP Desktop, as it is running an internal web server and serving pages through CGI. So when PHP script ends execution PHP-CGI process is killed and all memory is always freed.
Fundings for new features
Here is a list of ongoing fundings for the new features in PHP Desktop Chrome:
|Chrome v70 release for Windows||$0 of $2,000||Issue #227|
|Initial Mac release||$150 of $2,000||Issue #208|
|Initial Linux release||$1,500 of $1,500||Issue #221|
Fundings for other features submitted in the issue tracker or the ones presented on the PHP Desktop Pro wiki page are also possible, just let know Czarek.
- PHP Desktop Chrome for Windows - go to the Download Chrome wiki page.
- PHP Desktop for Linux - see the linux-v70.0 release
- PHP Desktop MSIE (Internet Explorer) - go to the Download MSIE wiki page.
New releases RSS/Atom feed
To be notified of new releases subscribe to this Atom feed.
- Documentation is on the Wiki Pages. Start with the Knowledge Base, Settings and Chrome settings wiki pages.
- Ask questions and report problems on the PHP Desktop Forum
- Please do not create issues in the Issue Tracker
- See also this tutorial (externally maintained): Create your first Desktop Application with PHP and PHP Desktop
If you would like to support PHP Desktop general development efforts by making a donation please click the Donate button below:
If you would like to see some feature implemented you can make a comment about that when making a donation. It will give it a higher priority.
For sponsorship opportunities please contact Czarek.