Menu

Tree [24806d] master /
 History

HTTPS access


File Date Author Commit
 assets 2022-11-02 Patrick Ingle Patrick Ingle [ef4432] updated screenshots and other metadata
 public_html 2022-11-02 Patrick Ingle Patrick Ingle [b46e02] replace wordpress with phpsqlitecms
 .gitignore 2022-11-02 Patrick Ingle Patrick Ingle [ef4432] updated screenshots and other metadata
 icns_creator.sh 2022-05-27 Patrick Ingle Patrick Ingle [c57773] v1.0.0 with WP6.0 using SQLite as a data store
 index.js 2022-11-02 Patrick Ingle Patrick Ingle [24806d] v1.1.1
 launch.cmd 2022-11-02 Patrick Ingle Patrick Ingle [b46e02] replace wordpress with phpsqlitecms
 launch.sh 2022-11-02 Patrick Ingle Patrick Ingle [24806d] v1.1.1
 package-lock.json 2022-11-02 Patrick Ingle Patrick Ingle [ef4432] updated screenshots and other metadata
 package.json 2022-11-02 Patrick Ingle Patrick Ingle [24806d] v1.1.1
 readme.md 2022-11-02 Patrick Ingle Patrick Ingle [24806d] v1.1.1
 settings.json 2022-11-02 Patrick Ingle Patrick Ingle [b46e02] replace wordpress with phpsqlitecms

Read Me

Installation

First download the following files into the same folder/directory,

Version x.x.x:

PHPDesktop Setup x.x.x.exe (Windows x64) - Version x.x.x windows installer and follow the prompts
php-desktop-2020_x.x.x_amd64.deb (Linux/Ubuntu) - Version x.x.x ubuntu/debian installer
php-desktop-2020_darwin_x.x.x.dmg (MacOSX) - Version x.x.x darwin/macosx installer

Configure

Edit the included settings.json with the PHP development server URL

settings.json

{
    "host": "localhost",
    "port": "3000"
}

Building PHP

Use PHP 7.4.x due to compatibility issues,
Download the source at https://www.php.net/downloads.php#v7.4.29

Windows

  1. Download the Windows binaries at https://windows.php.net/download#php-7.4
  2. Extract to the ./php directory
  3. Copy php.ini-production to php.ini
  4. Edit php.ini and enable mode_rewrite,mbstring,pdo_sqlite,curl,openssl extensions and set the extension_dir parameter
  5. Start the application, the PHP server will start automatically.

Linux

./configure --prefix=./php-desktop-2000-code/php -with-ldap --enable-ftp --with-mcrypt --enable-bcmath --with-bz2 --enable-calendar --enable-dba=shared --enable-exif --with-gettext --enable-mbstring --with-mhash --with-openssl --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-zip --with-zlib --with-xsl --with-curl

MAC

./configure --prefix=./php-desktop-2000-code/Node-Electron/php --enable-ftp --enable-bcmath --with-bz2 --enable-calendar --enable-dba=shared --enable-exif --enable-mbstring --with-mhash --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg -with-zlib --with-xsl --with-curl

Building PHP Extensions

  1. cd php-7.4.16/ext/bz2
  2. ./php/bin/phpize
  3. ./configure
  4. make install
  5. cp ./php/7.4.3/pecl/20190902/*.so ./php/lib/php/extensions/no-debug-non-zts-20190902/

Launch

To start the application with the PHP development server,

Windows

1. change to the installation directory
2. execute the launch script (launch.cmd)

Ubuntu

1. change to the installation directory
2. execute the launch script (launch.sh), e.g. >sh ./launch.sh
3. start the applicatin, e.g. >./php-desktop-2020

Mac OSX

1. Install by copy PHPDesktop to the Desktop
2. Open the terminal
3. Change to the path ./Desktop/PHPDesktop.app/Contents/public_html
4. Start the php server via ../php/bin/php -S localhost:3000
5. Open Safari to http://localhost:3000

Release Schedule

Whenever the code base is updated, a new standalone version installation package is created.

Version          Date                    Changes
1.0.0           04/22/2021          Initial release
1.1.0           11/02/2022          Change from WordPress to PHPSQLiteCMS due force database upgrade in WordPress and ignoring db.php for non-MySQL
1.1.1           11/02/2022          Added OS detection to launch the correct script

EOL or End-of-Life

When a piece of software is useful, there should never be an EOL doctrine. The intention for this application is to achieve immoratlity ;).

At some point of time in the future, this project may appear to be dead and abandon. The opposite will be true!

When this project reaches that stage, this project has matured to a level where maintenance is minimal (mostly updating to latest version of Node).

Patrick Ingle
Developer
April 22, 2021