Quick install instructions for p.mapper 4.x

For more detailed documentation see the p.mapper manual

Quick install instructions for older version 3.x see PDF file here

PHP Settings

PHP/MapScript Library and WebServer

p.mapper in the current version requires PHP 5. If you want to run p.mapper on PHP 4 you need to use the older version 3.0.

Install the PHP/MapScript library in the appropriate place and configure your webserver to parse *.php and *.phtml files with PHP.

See the documentation for PHP/MapScript and MapServer for details.


PHP needs to be compiled with support of the ICONV library. This should be the default on Windows and Unix versions of PHP


In PHP 5.3+ the PHP MapScript extension cannot be loaded any more dynamically. You need therefore to load the extension via the php.ini like

Under section [PHP] for Error handling and logging set

error_reporting = E_ALL & ~E_NOTICE        ;;;IMPORTANT!!!
log_errors = On
error_log = ...: Set a valid file name writable by the webserver user. IMPORTANT!!! 

See the PHP Manual for more details.

In section [PHP] under the paragraph Paths and Directories set:

enable_dl = On

alternatively: load the Mapscript extension via the php.ini. This is also the required method on Windows both for IIS and Apache running PHP as module.

The application uses PHP sessions to store user settings during the session. Modify the php.ini file to the following settings below section [Session]:

session.save_path = ... : Set a valid path writable by the webserver user
session.use_trans_sid = 0 : set to 0 in order to be compliant with W3C XHTML Strict 
session.auto_start = 0

Using cookies for sessions

In most cases it is recommended to disable the usage of cookies for session handling. You achieve this by the following setting

session.use_cookies = 0

For a more detailed discussion about this setting please see the FAQ

Settings for security

As with all PHP installations it is strongly recommended to disable both register_globals and allow_url_include (allow_url_fopen before PHP 5.2) to avoid potential cross side scripting attacks:

 register_globals = Off

 allow_url_include = Off

Note that register_globals is set to Off by default and its dangerous activation needs an active input by the system admin. Since v3.2 there are additional checks to prevent code insertion in case of very weak PHP security settings that are against any recommendations. v4 will and wrire out a warning and will not start if these settings are active.

Application settings

config/config_default.xml The main configuration for p.mapper is set under the subdirectory config in the file config_default.xml. Adapt following mandatory settings to your environment:


<msVersion>  e.g. for set to 50, for php_mapscript_52.dll set to 52
     This setting can be skipped if the php_mapscript extension is loaded via the php.ini (see above). 
     If commented out the will be used.


<mapFile>  Map file location; 2 possibilities:
  1) use absolute path to map file in file system (use slashes instead of backslashes)
  2) filename only, if map file is under the directory specified at 'pm_config_location' 

Definition of groups/layers from the map file

 a comma-separated list of layers/groups available in the application

General rule: if a layer belongs to a group, use the group name, otherwise use the layer name. Layer and group names must not have spaces.

    <category name="cat_admin" description="Admin Category">

As with group names, the "name" attribute of a category is used like a variable and cannot have spaces. The display name in the application view is defined in the "description" tag.

Usage of categories in the TOC requires to set this below




If the language of your p.mapper application uses non-ASCII characters you must use UTF-8 as character encoding for your web page. Define this via the tag


Make also sure that your web server has UTF-8 set as default encoding since otherwise not all browsers will understand the encoding correctly.

Other settings

Directory /images/legend/

Important: This directory must be writeable for the user that runs the web server (used for automatic update of legend icons), otherwise the application will not run.

On a Debian system for example, this could be achieved with the command

chown -R www-data /var/www/pmapper_demo/images/legend/

On Windows and IIS set the directory security properties to 'Modify' for user IUSR_hostname

Demo data

You can download the demo dataset ( and test p.mapper with the supplied map file

Map file

in adapt settings for


The directory defined for IMAGEPATH must be writeable by the web server user (see above). It is recommended to use an absolute path to avoid problems with relative path resolution. In any case one usually has only one single tmp directory for a web server, so this is a quite stable setting.

Layer and group names must follow rules of variable naming in most programming language. Therefore they

  • must not have spaces
  • shall not start with a number
  • shall contain only the standard 26 latin alphabet characters, numbers or and underscore

Start p.mapper

Starting p.mapper can be done via the map.phtml file or a link from index.html.

Pre-prepared packages - MS4W and Debian/Ubuntu?

In order to facilitate the first set-up of p.mapper, packages for MS4W and Debian/Ubuntu? are available. See the here how to get and install them.

Last modified 7 years ago Last modified on Apr 17, 2012, 8:46:51 AM