Skip to main content

[[::PHP-Mapscript für PHP-5.6.27 Mapserver-6.4.3 fertig kompiliert auf Windows::]]

Schon während meiner Bachelorarbeit letztes Jahr bin ich über das Problem gestolpert, dass es kein fertig einsetzbares PHP-Mapscript für den UMN-Mapserver für Windows mit aktuellen PHP-Versionen gibt.

Man findet überall nur DLLs, die mit uralten PHP-Versionen verlinkt sind.

Unter Linux ist das ganze kein Problem. Einfach installieren oder herunterladen und selbst kompilieren. Aber unter Windows? Keine Chance. Nur auf dem neuen Subsystem für Linux auf Windows 10 ist es in ein paar Minuten installiert.

Letztes Jahr bin ich beim Versuch, das selbst zu kompilieren kläglich gescheitert. Mir hat auch einfach die Zeit nicht gereicht, mich intensiv genug mit dem Thema zu beschäftigen. Ich habe das Problem damals umschifft, indem ich einfach alles über WMS- und WFS-Requests gemacht habe, was ich gebraucht habe. Funktioniert auch. War in dem Fall sogar gar nicht schlecht, weil ich dann nur Standardschnittstellen benutzt habe.

Letzte Woche kam die Frage nach einem PHP-Mapscript für ein aktuelles PHP (wegen der Sicherheit) auf Windows wieder auf.
Ich habe also wieder gesucht und nichts gefunden. Also habe ich mich selbst daran gemacht, das ganze zu kompilieren.
Nach 4 Tagen habe ich es dann tatslächlich geschafft.
Ich weiß jetzt auch, warum das niemand anbietet:
Weil es die Hölle ist, bis man das erste Mal am Ziel ist! Ohne Scheiß!

Aber ich habs geschafft. Aber fragt nicht.

Ich will euch hier gar nicht alles erklären. Fehler in den Quellen, zu denen es bereits Einträge auf github gibt, falsche Bedingungen im Quellcode, sodass VS2012-Express sich weigert, etwas zu kompilieren. Ich habe wirklich keine Ahnung, warum das niemandem auffällt.

Ich glaube fast, dass jeder, der bisher mit dem Thema zu tun hatte einfach aufgegeben hat, das ganze halt mit alten PHP-Versionen macht (ich hatte sogar schon überlegt, die gepatchten Quellen irgend einer Linux-Distribution, die PHP noch mit Sicherheitsupdates versorgt, zu nutzen und ich glaube, die von ms4w machen das so) oder auf Linux umsteigt.

Jetzt, ein paar Tage später habe ich es sogar geschafft, das ganze gegen die fertigen Pakete von gisinternals zu kompilieren (ich nutze sogar cmake, um die Makefiles zu erstellen), sodass ich nur noch den Mapserver mit Mapscript neu bauen muss, damit es läuft.

Und weil ich in vielen Foren gelesen habe, dass andere das auch suchen biete ich die DLL hier zum Download an.

Ihr braucht:

Das stable-Release für Mapserver-6.4.3 und Visual Studio 2012 x86 von gisinternals: download.gisinternals.com/sdk/downloads/release-1700-gdal-1-11-4-mapserver-6-4-3.zip
PHP-5.6.27-Win32-VC11-x86: windows.php.net/downloads/releases/php-5.6.27-Win32-VC11-x86.zip
Die php_mapscript.dll sowie die dazu passende mapserver.dll, die ich gebaut habe: www.digital-infinity.de/php-mapscript_release-1700-gdal-1-11-4-mapserver-6-4-3_php-5.6.27-Win32-VC11-x86___with_readme.zip
In dem .zip von mir ist noch eine Readme mit ein paar Details. Für die englischsprachigen unter uns auf Englisch.

Ich hab natürlich nur rudimentär getestet. Hoffe aber, dass das Ding auch bei euch einwandfrei funktioniert.

Ich hoffe, das hilft dem einen oder anderen. Viel Spaß damit.

 

Gruß Alex

 

PS: Keine Sorge. Ich hab alles dokumentiert. Hat mich viel Zeit gekostet. Wenn neue PHP-Versionen rauskommen schau ich, dass ich den Download aktualisiere.
PPS: Wer sich bei mir bedanken will darf das gerne tun. Mails diesbezüglich, Feedback, Fehlern oder Wünschen immer an die untenstehende Adresse. Wer sich noch anders bei mir bedanken will: Amazongutscheine sind immer gut!

 

 

English:

This site describes, as it happened i made a php mapscript for windows.

You don't need a translation if you are just searching for a useable php_mapscript.dll for PHP-5.6.27-Win32-VC11-x86 and Mapserver-6.4.3. Maybe i'll translate someday. Just download the packages. The last one (from my site) contains a short readme in english with instruction.

Hope it helps.

 

Kind regards,
Alexander Gabriel