MapServer productivity tools.

Daniel Morissette morissette at
Thu Nov 2 13:52:37 EST 2000

Brian Fischer wrote:
> Brent,
> I have been wondering this same thing.  I would also like to try and start using mapscript, but have not been able to because I am limited to running our webserver on NT.  I am interested to hear what others have done on NT.  If I understand it right I think PHP is one route to go, but I am not sure how it is linked to mapscript or if it is at all.  This part is still a little fuzzy to me.


Yes, PHP MapScript is one possible route on NT (we use it a lot).

About the difference between PHP MapScript and Perl/Python MapScript:
The Perl and Python versions of MapScript are automatically generated
using SWIG from the core mapserver header files.  Unfortunately SWIG
does not support PHP yet (but I heard there is some experimental work on
that front), so PHP MapScript has to be manually maintained.

However, we try to keep PHP MapScript as close as possible from the Perl
version for function names and class member names.  So the main
difference is that PHP MapScript may sometimes be a little behind the
Perl version when new methods or class members are added.  BTW, earlier
this week Assefa has completed a complete review of the PHP MapScript
and hopefully it is now in sync with the Perl version.  (I still have to
test it on Unix though).

The main reason we developed the PHP MapScript is that we had used PHP
before and knew that it behaved very well on all common platforms
(Win95/98/NT, Linux, *BSD, Solaris, etc.) and with most HTTP servers
(Preferably Apache, but also IIS and PWS, and we also got PHP to work
with NCSA with a small patch and with Netscape Enterprise with a

I'm not sure about the portability of Perl scripts since I never really
used Perl, but I would say that PHP scripts are 99.9% platform
independent.  We have applications that were developed on NT and were
deployed on Unix and vice-versa without a single change in the scripts. 
Actually, the only platform dependent code I ever had to write in PHP
was the call to load the MapScript extension... it's
dl("") on Unix and dl("php3_mapcript.dll") on NT.

I hope that answers your questions,
 Daniel Morissette             morissette at
  Don't put for tomorrow what you can do today, because if 
      you enjoy it today you can do it again tomorrow.

More information about the mapserver-users mailing list