Application Root

Note that upload folders and audit trail folder are relative to application root. This enables the user to put the uploaded files and the audit trail log files in folder outside of the script folder. (In older versions, the file upload folder is relative to the script, it was supposed to be a subfolder under the script.)

Where is the application root? PHPMaker scripts looks for the application root as follows:


1. Root Relative Path

Root Relative Path is the path relative to destination folder. The destination folder is the folder where the generated scripts reside.

When you generate scripts, you must specify the [Application root folder] and the [Destination folder] correctly based on your folder structure. The relative folder structure on your local computer must be the same as that on your production server.

For example, if you put the generated scripts in a subfolder:


In this case, the Root Relative Path is therefore the parent folder of the script, i.e. "..". The scripts will use this relative path to find the application root.

It is recomended that you set the [Application root folder] to the root folder of your Website where is accessed by so you can specify your upload folder and audit trail folder straightforwardly using the Website root as a starting point. For example, if you specify "upload/" as upload path, since it is relative to application root, the upload folder will be accessible by

On your testing server, you may work with multiple projects and test your projects one folder level lower at http://localhost/<projectname>/ (cf. http://<projectname>/). In this case you should set the [Application root folder] in each project as the root folder of the project (the folder that is accessed by http://localhost/<projectname>/). After uploading to the production server, the site may be then accessed by (cf. http://localhost/<projectname>/), but as long as the relative location of the two folders (Application Root folder and the script folder) are the same, the scripts will still work properly.


2. Custom Path

The above approach should handle most cases. If in some special cases it doesn't return the path you want, you can modify the function ew_AppRoot() in phpfn*.php. You can simply customize the template and specify your real server path directly. For example,


function ew_AppRoot() {
    return 'C:\MyPath\MyWebRoot\'; // replace with your real server path directly, include the trailing path delimiter   


function ew_AppRoot() {
    return '/home/username/public_html/';
// replace with your real server path directly, include the trailing path delimiter   

Remember that you must also check and update the value of the variable EW_ROOT_RELATIVE_PATH in ewcfg*.php, make sure it correctly points to your application folder relative to the script folder. Using above example, you specify that the application root is "C:\Inetpub\wwwroot\MyWebRoot", if your scripts are placed in "C:\Inetpub\wwwroot\MyWebRoot\MyScripts\", then EW_ROOT_RELATIVE_PATH should be "..".

TIP: You can call the PHP function phpinfo() (i.e. <?php phpinfo(); ?>) to view your server information, including the server paths. Alternatively, in the generated scripts (that includes phpfn*.php), you can call the PHPMaker function ew_Info() (i.e. <?php echo ew_Info(); ?>) to view the path settings in your project.


 ©2002-2017 e.World Technology Ltd. All rights reserved.