C++ C PHP
Latest commit 9dc3df1 Jan 20, 2018

README.md

PHP Desktop

Table of contents:

Introduction

PHP Desktop is an open source project founded by Czarek Tomczak (hire me! download my resume) in 2012 to provide a way for developing native desktop GUI applications using web technologies such as PHP, HTML5, JavaScript and SQLite. The development workflow you are used to while creating web applications remains the same. There is no new API/framework to learn. The process of turning an existing website into a desktop application is basically a matter of copying it to the "phpdesktop/www/" directory.

In a certain sense phpdesktop acts as a PHP to EXE compiler. It embeds a web browser, a multithreaded web server and a PHP interpreter. All embedded into a single application. The web server embedded is Mongoose (the MIT-licensed version). 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.

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.

Lots of other useful information can be found on the Knowledge Base wiki page and on the PHP Desktop Forum.

Funding for a Mac release

For those interested in sponsoring a Mac release please see Issue #208.

Funding for a Linux release

For those interested in sponsoring a Linux release please see Issue #221.

Downloads

New releases RSS/Atom feed
To be notified of new releases subscribe to this Atom feed.

Support

Support development

If you would like to support PHP Desktop general development efforts by making a donation please click the Donate button below:

Donate

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 directly.