There is a binary release of PHP Desktop with Internet Explorer engine ready, go download it at:
(read "SUMMARY" for a newbie explanation)
Host a WebBrowser control in a simple c++ app.
Call ShellExecute() to run php 5.4.0 builtin webserver.
Use sqlite as your database.
Create a simple win32 application that hosts WebBrowser control, for example with C++ and MFC:
This can all be done using simple wizards, you don't need to know C++ or anything, but you have to install VisualStudio, then run the wizard and change the path that is on this line:
m_browser.Navigate("127.0.0.1:1234", NULL, NULL, NULL, NULL);
(that navigate call should really happen after step 2. - when you have php server running)
You need to add another line in your c++ program, a call to ShellExecute() that will start the php 5.4.0 builtin server.
ShellExecute() docs at MSDN:
PHP 5.4 builtin webserver:
That line will look something like this:
ShellExecute(NULL, TEXT("open"), TEXT("C:\program files\YourApplication\php.exe"), "-S 127.0.0.1:1234", NULL, SW_HIDE);
(you will have to close that webserver when your application is being closed)
SQLite is a simple database and don't need to run any additional service, a php builtin server that is explained in step 2 is all that is required to connect to sqlite database. In php.ini you need to load PDO extension + pdo_sqlite.
Put your exe (YourProgram.exe) + php binaries (php.exe + dlls + extensions + php.ini) + your .php source files => put it all into one directory, create some installer using for example NSIS:
and you're ready to rock.
Regarding the PHP-GTK, have a look at this interesting project I've came across recently, WinBinder: http://winbinder.org/index.php
You create a c++ wrapper only once and it's easy, then you can run your php scripts as a native windows application - a IE webbrowser control is created inside your application's window and it navigates to 127.0.0.1:1234, which is the output of your php scripts. It looks like a regular program, but it's really an embedded browser inside your application.
There is no installation of apache, php or mysql required - it's like running native windows application. A small c++ wrapper that can be easily created with simple wizards and that can run your PHP scripts later on clients machines, with no hassle, with a feeling of a normal desktop application:)
There is no need to install anything, as it uses PHP 5.4 which comes with a builtin web-server, it can be started easily with 1 line using c++ call to ShellExecute(). For database you can use SQLite which does not require running any service, php alone is sufficient.
Hope it is clear right now.