Getting Started

Download

This is a standalone windows browser that runs an internal php/mysql and allows you to package your web apps like a windows desktop app. It supports Apache 2.4.20 / php 7.0.8 / mysql 5.7.13 / HTML5 / NODE.JS commands via its node webkit interface.

Some screen-shots of the application will be displayed below.

Download PHPBrowserBox

Installation

Technically speaking, all you need to do is to unpack phpbrowserbox and launch the application in the root folder.

You are meant to unpack, study the setup so that you can deploy your application with it.

You will find files and folders in it somewhat similar to what you will find in regular L.A.M.P servers.



How It Works

How PHPBrowserBox Works:

  • When the phpbrowserbox executable in the root folder is executed which loads core/phpbrowserbox.vbs
  • core/phpbrowserbox.vbs which will requests for elevated privileges to load /core/phpbrowserbox executable
  • core/phpbrowserbox will add apache's httpd and mysqld to the firewall (if possible) then start core/webkit
  • core/webkit is actually node-webkit, this will run core/package.json which will load webkit/application.html
  • webkit/application.html is a node-webkit application, this will start apache, mysql (which may display a pop-up requesting for firewall access)
  • the homepage url is requested for display at this point
  • the webkit browser displays a splashscreen image (webkit/assets/images/splash.jpg) is displayed by the webkit/application.html around this time until the home url is loaded
  • the home page is displayed in the webkit browser, and that is it



Features

The features are as follow:

  • It works like an emulator for PHP/MySQL applications
  • Runs without installation on all versions of windows
  • Does not conflict with existing servers like wamp
  • Supports PHP 7.0.8, MySQL5.7 and SQLite3 Database
  • Can be executed from a flashdrive directly
  • Supports HTML 5, and CSS 3 Media Queries



Configuration

The configuration file is core/package.json. Most of the configuration options are generally node-webkit configurational options.

  • apache_port: This is the port number of the apache server, the default is 8181. This means that the home url will be http://localhost:8181.
  • mysql_port: This is the port number of mysql server, the default is 3318. You must specify mysql port in your connection whether PDO or MySQLi.

The essence of the changes in port configuration is to try avoid conflict with another running server on the same pc.



Web Docs

Like every other web server, there is a folder where web documents are stored. That would be httpd/htdocs

In a real-world situation, you are meant to actually clear out all these files and folders and replace with your own application.



Package Info

Normally, you should not need most of the data in the package info inside your app with one exception - the mysql port.

The following code will retrieve the core/package.json info as an array to your php codes. $package=(array) json_decode(file_get_contents(dirname(dirname($_SERVER['DOCUMENT_ROOT']))."/core/package.json"));

You will find mysql_port from the array above.