Application Root

Note that file folders are relative to application root. This enables the user to put the files in folder outside of the script folder.

Where is the application root? PHP Report Maker scripts looks for the application root in the following sequence:

 

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 http://www.mycompany.com/ so you can specify your file folders 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 http://www.mycompany.com/upload/.

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 http://www.mycompany.com/ (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. Document root

If Root Relative Path is empty, the script checks the following variables: $_SERVER["APPL_PHYSICAL_PATH"].

If you use IIS on Windows (e.g. you are using PHP with MS Access or SQL Server on Windows), this variable should return the physical path of the application root of your web site, read Creating Virtual Directories in IIS in Introduction to PHP and MySQL.

If Root Relative Path is empty, the script checks the following variables: $_SERVER["DOCUMENT_ROOT"] or $_ENV["DOCUMENT_ROOT"].

If you use Apache, it is usually the physical path of your Website root. e.g. On Linux, it may return

/home/username/public_html which can be accessed by http://www.mycompany.com/

You can put your generated scripts in your Website root, or you can put the generated scripts in a subfolder under your website root, e.g.

/home/username/public_html/scripts which can be accessed by http://www.mycompany.com/scripts/

When you generate scripts, you still need to specify the [Application root folder] and the [Destination folder] based on your folder structure so that the relative location of the two folders is correct.

 

3. Script Path

If both Root Relative Path and Document Root are empty, the script will use the path of the current script.

 

4. Custom Path

The above three approaches should handle most cases. If in some special cases they don't return the path you want, you can modify the function ew_AppRoot() in phpfn*.php. You can simply specify your real server path directly. For example,

Windows:

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

Linux/Unix:

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 the value of the constant EW_REPORT_ROOT_RELATIVE_PATH in the generated ewrcfg*.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_REPORT_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.

 



 ©2007-2011 e.World Technology Ltd. All rights reserved.