System Requirements

  • PHP 5.5+
  • *Web server that support PHP 5.5+ (needed for web apps only)
  • A supported database engine (ex: mySql) (needed for data apps only)
  • Some PHP extensions are needed for certain features

Get ActiveWAFL

Use the ActiveWAFL one-step installation to quickly download and install the latest version of ActiveWAFL (including Utensils) straight from your console in one easy step!

ActiveWAFL One Step Installation

Install ActiveWAFL using cUrl

Windows example with cURL
(Be sure to run your console as an "Administrator")
curl -s "" | c:/xampp/php/php.exe
Linux example with cURL
(Using sudo. Assume php's binary is in the path.)
curl -s "" | sudo php

Install ActiveWAFL using wget

Linux example with Wget
(Using sudo. Assume php's binary is in the path.)
wget -q -O - "" | sudo php
Windows example with Wget
(Be sure to run your console as an "Administrator")
wget -q -O - "" | c:/xampp/php/php.exe

Download the files manually.

You can always download the most recent stable build of ActiveWAFL at

This is the same file that the one-step installer deploys.

Other versions and package configurations are available in the Download Center

The best way to upgrade existing ActiveWAFL installations is to use the Utensils utlilty.

Utensils is an interactive (optionally non-interactive) command-line utility. It is available for Windows and *nix.
To run Utensils, navigate to the folder where you installed ActiveWAFL, and then to the Bin folder beneath it. At the command-prompt, run the command Utensils to show an interactive menu of actions.

Install ActiveWAFL

If you downloaded the ActiveWAFL files manually, then place the downloaded (and unzipped) folder anywhere in your file system.
Popular locations include /usr/share/Wafl on Linux and c:\xampp\Wafl on Windows.

ActiveWAFL should not be put into a publicly accessible web folder.
ActiveWAFL is dependent on the DblEj Library, which is included with the ActiveWAFL download. If you download the files manually, you'll need to place the DblEj folder somewhere in your file system such as /usr/share/DblEj.
An application's environment-specific configuration files contain settings for the ActiveWAFL location and the DblEj location.
In order for the application to function in that environment, these values must be correctly set.

Create an Application

The first thing you'll want to do is create an Application. An application is typically, but does not have to be, associated with a particular domain and web site.

Applications can contain other Applications by making the sub-Application into an Extension

Create a New Application Using Utensils

Step 1

Run Utensils from a command-prompt.
This example assumes that ActiveWAFL is installed in /usr/share
Utensils must have executable permissions.
If you get an error when attempting to run Utensils, this is a common cause.
Give Utensils executable permissions by running chmod +x /usr/share/Wafl/Bin/Utensils.

Step 2

Choose option a. from the Utensils menu.

,-.  .   .                .
  |  |   |- ,-. ,-. ,-. . |  ,-.
  |  | . |  |-' | | `-. | |  `-.
  `--^-' `' `-' ' ' `-' ' `' `-'
for ActiveWAFL 0.4.1761

    a. Generate a new (a)application
    b. Submit a (b)ug report
    c. Generate a new (c)ontrol
    e. Generate a new (e)xtension
    h. (H)elp
    i. Show system (i)nformation
    p. Make a (p)har
    u. (U)pdate ActiveWafl
    x. E(x)it

Please choose a letter from the menu:_

Step 3

Utensils will ask you a few questions.
ActiveWAFL application configuration can be complex. Utensils simplifies this by allowing you to specify common setting values in a single, short, and simple ini file, which it uses to fill in most of an application's required settings automatically.
You can choose to supply this ini file to Utensils, or you can choose to instead create an application with "dummy" settings.
You'll be presented with the following prompt.

You can generate a default application with dummy settings, or you can generate
a preconfigured stub using settings that you specify in an ini file.

P = Generate preconfigured application using an ini file that I supply. (use opt
ion "I" to generate an ini file that you can customize)
D = Use dummy settings.
I = Generate an ini stub that I can customize and use to create a preconfigured

Which would you like to do? (P/D/I)
  • If you have an .ini file prepared, choose option "P".
  • If you want to create an application with dummy settings, choose option "D".
  • If you want Utensils to create an .ini file for you that you can use as a starting point for your application's .ini file, choose option "I".
You'll then need to answer the following questions.

What type of app are you making (App|WebApp|MvcWebApp|ModularMvcWebApp)?

What directory should I save the generated application in?

The new application should now be available at the specified directory.

To change the settings for the Application, edit the Syrup files in the application's /Config folder.

File Permissions

Temporary Folders

ActiveWAFL will write several temporary files, including compiled templates and cached output. The following folders must be writable by the web server (or whatever user is running the application).
Temp Folder
Default location: /tmp
Defined in Config/App/Settings.<Environment>.syrp
Template Compile Folder
Default location: /tmp/WaflTplCompiles
Defined in Config/App/Settings.<Environment>.syrp
Only applies to Web applications
Template Cache Folder
Default location: /tmp/WaflTplCache
Defined in Config/App/Settings.<Environment>.syrp
Only applies to Web applications
If you have multiple ActiveWAFL applications on a machine, each application must have it's own Template Compile and Template Cache Folder.
Nothing should ever go in your web site's public document folder except for the contents of the application's Public folder.


To ensure proper and secure operation, ActiveWAFL must know what environment it is running in. The default environments that are installed with an application are: dev, test, and prod. You must specify the environment by setting the following environment variable: WAFL_ENVIRONMENT=dev|test|stage|build|prod|CUSTOM
Every operating system offers multiple ways to set environment variables. Here are some ways to do it.

Apache on any OS

  1. in the web server (Apache's httpd.conf, for example) config file
  2. in an .htaccess file


  1. in the system environment (from the command line)
  2. in the .profile of the user (the web server user except for cli apps)
The .htaccess file included in the WebApplication, MvcWebApplication, and ModularMvcWebApplication templates sets the environment to dev by default.
The application's configuration files end with a prefix of <Environment>.syrp, respective to the environment.
For example, or

Third Party Components

Some features of ActiveWAFL require the use of third party packages. The proper versions of these packages are included with ActiveWAFL and do not need to be installed/setup separately.

This list is here for acknowledgement and reference only

  • Smarty3 or other supported View Engine
  • PHP Unit or another compatible framework
  • Selenium or another Integration Testing framework
  • GeSHi
  • Balanced Payments API
  • Paypal SDK
  • Amazon SDK
  • Google SafeUrl API
  • Google Analytics API