Put a MySQL Database on the Web:
Step by Step Tutorial

Step #7: Install on Hosted Web Server

You should now have a good understanding of how Apeel PHP Code Generator Pro works and how to use the applications it generates. The best way to to get acquainted with all it's features is to play with the settings for the Sakila application, then try to create an application for your own database. For now, here is some additional information:

APEEL Framework

The Web applications generated are based on the APEEL Framework - an open source object-oriented framework which is designed to be easy to learn, use and adapt to the way you like to work. It is a relatively new framework but is based on rock-solid open source foundations such as jQuery, Smarty, CKEditor and FlexiGrid.

It contains lots of additional functionality such as the ability to send HTML emails with attachments and embedded images, validate email addresses etc, so adding functionality to your application which is not covered by the code generator should generally be quite straight forward.

For more information and full technical documentation for the APEEL framework please visit

Styling your Application

Since the popup windows, Data Pickers etc are created using jQuery UI you can install different themes or roll your own here:

When restyling an application we recommend viewing the web application in Firefox with Firebug installed - this allows you to click on elements on the page and see which CSS files are relevant to that element, and you can even experiment by instantly changing the CSS on the fly to see how it would look before committing it to the actual CSS files.

Copying Web Applications to a Live Server

The APEEL Framework is designed to make porting applications to a live web server relatively painless, however for security reasons you should review the following settings:


define('APEEL_DEBUG_MODE', '1');
define('APEEL_LOG_SQL', '1');

Should be changed to:

define('APEEL_DEBUG_MODE', '0');
define('APEEL_LOG_SQL', '0');

APEEL_DEBUG_MODE is used to determine whether when an error occurs the actual error should be displayed (Debug Mode - 1) or whether a generic message should simply inform the user that an error has occurred (Live Mode - 0).

When APEEL_LOG_SQL is set to 1 it creates a log file that stores every database SQL statement issued. This can quickly become large and can give potential hackers information about your database structure if left on when on a live server.


On your local development PC security isn't much of a consideration, however once you put your application live on the Internet there are a couple of issues you should consider.


Whilst connecting to your MySQL database as the root user is fine on your development pc, on a live server you should create a user with less privileges, and also ensure a secure password is used.

Read/Write Folders

The Smarty Templating library used by the APEEL Framework requires read/write access to a folder called templates_c in the root level of your application. Additionally, if you upload files/images then you also require read/write access to Application/Uploads

In order to set permissions to these folders right-click on them in your FTP program, select File Permissions and set to 777 and click OK.

However, you should also consider moving both of these folders to a non-public location as hackers may try to upload to these folders and execute them if in a public web directory.

If httpdocs is the root folder of your website then move these folders to the same level as httpdocs. Then update the path to the upload folder in /Application/MetaData/Config.php and change the path to templates_c in Smarty's config file in /Framework/Model/Vendor/Smarty/

Building a Web Application for a database on a server that does not allow Remote Connections

We recommend working with a database installed on your development PC as this is the fastest way to work, and also working with a copy of a database is better that working with a live database whilst working, just in case something goes wrong.

However, if you wish to generate an application for a database on a server that does not allow remote connections but your web server does allow access to it, then there is a script located in /Resources called structure.php - copy it to somewhere accessible on your web server then create a new project in Apeel PHP Code Generator Pro and select the "Proxy Connection to Remote Database" tab - enter the URL and the database connection details then build your project as normal.

Obviously you will need to upload the application to your web server to test it.

Please ensure that you delete structure.php from your web server once you have finished with it.


If you have a problem or question related to Apeel PHP Code Generator Pro then please click on Technical Support


Thank you for reading - we hope you enjoy using Apeel PHP Code Generator Pro!