ランキングに戻る

Develop desktop GUI applications using PHP, HTML5, JavaScript and SQLite

chromechromiumphpphp-compilerphp-frameworkphp-desktopphp-desktop-applicationsphpdesktop
スター成長
スター
2.9k
フォーク
581
週間成長
Issue
107
1k2k
2015年8月2019年3月2022年11月2026年7月
README

PHP Desktop

Table of contents:

Introduction

PHP Desktop is an open source project founded by Czarek Tomczak in 2012 to provide a way for developing native desktop GUI applications using web technologies such as PHP, HTML5, JavaScript and SQLite. Think of it as Electron for PHP. It is a convienient tool for converting PHP web apps and PHP CLI tools to desktop applications with little effort. The development workflow you are used to while creating web applications remains the same, there is no new framework / API 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 multi-threaded web server and a PHP interpreter. All embedded into a single application, a portable folder that you can easily distribute to end users by packing it to zip archive or by making an installer for your application. The web server embedded is a custom edition of Mongoose, a web server used by NASA on the International Space Station. Supported browsers are Internet Explorer and Google Chrome via open source Chromium. The package with Chrome embedded has no external dependencies, everything is included in 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 execution ends, 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, Discussions page and on the Old Forum.

Downloads

There are two ways to be notified about new releases:

  • Watch the project with the "Releases only" option checked
  • Subscribe to the RSS/Atom feed

Support

Fundings for new features

Here is a list of ongoing fundings for new features in PHP Desktop:

Feature Announced Status
New Linux release with latest Chromium Discussion #359 Ongoing funding

Support development

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

Donate

Seeking sponsors

PHP Desktop is seeking companies to sponsor further development of the project. There are many proposals for new features submitted in the issue tracker and on wiki pages. Most notable are:

  • Monthly releases with latest Chrome
  • An automated build system
  • Cross-platform support with full functionality on Mac and Linux
  • More Javascript and PHP API exposed for accomplishing desktop specific tasks
  • Better integration with desktop, taskbar and systray
  • HTTPS/SSL support
  • Custom window themes
  • Running app in background
  • SQLite encryption
  • Desktop notifications

If your company would like to sponsor PHP Desktop development efforts then please contact Czarek. Long term sponsorships are welcome and Czarek is open to ideas about the project. He would love to spend more time on developing this project, but he can't afford doing so in his free time.

関連リポジトリ
electron/electron

:electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS

C++MIT Licenseelectronjavascript
electronjs.org
122.1k17.3k
puppeteer/puppeteer

JavaScript API for Chrome and Firefox

TypeScriptnpmApache License 2.0headless-chrometesting
pptr.dev
95.3k9.5k
microsoft/playwright

Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

TypeScriptnpmApache License 2.0playwrighttesting
playwright.dev
93.2k6.1k
FiloSottile/mkcert

A simple zero-config tool to make locally trusted development certificates with any names you'd like.

GoGo ModulesBSD 3-Clause "New" or "Revised" Licensehttpstls
mkcert.dev
59.4k3.1k
ChromeDevTools/chrome-devtools-mcp

Chrome DevTools for coding agents

TypeScriptnpmApache License 2.0mcp-serverpuppeteer
npmjs.org/package/chrome-devtools-mcp
47.4k3.2k
jaywcjlove/linux-command

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux

MarkdownMIT Licenselinuxlinux-command
jaywcjlove.github.io/linux-command
36.5k6.6k
feder-cr/Jobs_Applier_AI_Agent_AIHawk

AIHawk aims to easy job hunt process by automating the job application process. Utilizing artificial intelligence, it enables users to apply for multiple jobs in a tailored way.

PythonPyPIGNU Affero General Public License v3.0automationbot
30k4.6k
feder-cr/Jobs_Applier_AI_Agent

Auto_Jobs_Applier_AI_Agent aims to easy job hunt process by automating the job application process. Utilizing artificial intelligence, it enables users to apply for multiple jobs in an automated and personalized way.

PythonPyPIautomationbot
24.5k3.6k
ovity/octotree

GitHub on steroids

JavaScriptnpmGNU Affero General Public License v3.0githubchrome
octotree.io
23.2k1.8k
gildas-lormeau/SingleFile

Web Extension for saving a faithful copy of a complete web page in a single HTML file

JavaScriptnpmGNU Affero General Public License v3.0browserarchive
getsinglefile.com
21.9k1.4k
xifangczy/cat-catch

猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension

JavaScriptnpmGNU General Public License v3.0chromechrome-extension
cat-catch.94cat.com
20.8k1.8k
segment-boneyard/nightmare

A high-level browser automation library.

JavaScriptnpmelectronheadless-chrome
open.segment.com
19.8k1.1k