banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Tue 22 January 2008 10:10

jack_taty
Juste Inscrit !
Date d'inscription: 22 Jan 2008
Messages: 4

[Mapserver] PHP Mapscript - erreur runtime après compilation (win32)

Bonjour à tous,

Après avoir réussi à compiler mapserver 4.10.3 (en utilisant le  buildkit de Howard Buttler
version 101807) à l'aide de Visual C++ 8 (2005 express) sous XP pro, j'ai essayé de mettre à jour mon installation de ms4w (4.10.0) avec les nouvelles versions de mapserv.exe et de maplib.dll. Je les ai simplement remplacés dans le répertoire cgi-bin d'Apache.

Mon script PHP4 me renvoie dorénavant les messages d'erreurs suivants :

Tout d'abord, une boîte de dialogue :
"Runtime error! Program ...\php.exe - R6034 An application has made an
attempt to load the C runtime library incorrectly. Please contact..."

Ensuite, une erreur PHP4:
"<b>Warning</b>:  dl() [<a href='function.dl'>function.dl</a>]: Unable to
load dynamic library
'C:\\ms4w\Apache\php\extensions\php_mapscript_4.10.0.dll' - A dynamic link
library (DLL) initialization routine failed."

Je suis totalement nouveau en C++ et je n'ai aucune idée de la cause de l'erreur. Dois-je également recompiler PHP mapscript ? Ai-je mal installé la nouvelle version ?...

Si l'un d'entre vous avait une piste pour traquer la cause de l'échec du chargement de php_mapscript, ce serait *grandement* appréciée.

Merci

Dernière modification par jack_taty (Tue 22 January 2008 10:10)

Hors ligne

 

#2 Tue 22 January 2008 10:40

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [Mapserver] PHP Mapscript - erreur runtime après compilation (win32)

Bonjour,

Pour utiliser php/mapscript il faut le compiler, si cela n'a pas été demandé au départ, il y aura une erreur : php va chercher la lib php_mapscript_4.10.0.dll qu'il faudra remplacer par la php_mapsxcript_4.10.3.dll et surtout modifié le paramétrage de php pour qu'il aille chercher celle-là plutôt qu'une autre.

Donc oui il  faut compiler php_mapscript pour pouvoir utiliser mapserver en php wink

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#3 Tue 22 January 2008 11:03

jack_taty
Juste Inscrit !
Date d'inscription: 22 Jan 2008
Messages: 4

Re: [Mapserver] PHP Mapscript - erreur runtime après compilation (win32)

Un grand merci, Yves, pour cette réponse.

Je pensais naïvement que la version de php mapscript inclue avec ms4w (4.10.0) n'aurait pas de problèmes d'interfaçage avec mapserver 4.10.4. Merci de me corriger.
Je ne connais pas C++ et il m'a donc fallu trois jours pour compiler mapserver (entr'autre, beaucoup de fichiers/librairies manquant). Remettre le couvert avec php mapscript est loin de m'enchanter mais bon... ce qui ne te tue pas t'améliore wink

Aurais-tu (ou un autre membre du forum) un build kit qui *compile* out of the box contrairement à la version de Hobu) pour la partie mapserver et php mapscript ?

J'explique mon problème car il y a peut être d'autres alternatives à la compilation qui m'échappent mais peuvent être évident aux gourous en mapserver (je suis également nouveau en GIS). Si vous avez d'autres solutions moins lourde que la recompilation, je suis preneur.

Je dois simplement générer un malheureux fichier : la reponse à une requête WFS getcapabilities (que je servirai statiquement car cela prend quelques 5 heures pour générer les shp/dbf/map à partir de notre grosse BD). J'ai plus de 10000 features (layers) à décrire dans cette réponse, la limite de 200 est largement dépassée. En pratique, jamais plus de 3 layers ne seront servies par une même requête getfeature mais je dois tout de même décrire l'ensemble des 10000 layers dans le getcapabilities... J'ai également essayé de regarder le binaire pour patcher la valeur mais il y a beaucoup d'occurences de la valeur 200 en héxa dans mapserv.exe/maplib.dll...

D'autres suggestions ?...

Tout recompiler pour changer le nombre de layers autorisé... c'est vraiment lourd. Vive les fichiers de configuration !

merci

Dernière modification par jack_taty (Tue 22 January 2008 11:08)

Hors ligne

 

#4 Tue 22 January 2008 11:08

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [Mapserver] PHP Mapscript - erreur runtime après compilation (win32)

Bonjour,

Pourquoi ne pas passer à la version 5.0.x ? Plus de limite du nombre de layers, des bugs en moins (peut être d'autre en plus smile ) et une meilleure qualité wink

Sinon structurer ton mapfile par thème, ie un mapfile par thème cela sera plus facile à gérer à mon avis.

Y.


Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !!  - GeoRezo vous aide ? Aidez GeoRezo !

Hors ligne

 

#5 Tue 22 January 2008 11:15

jack_taty
Juste Inscrit !
Date d'inscription: 22 Jan 2008
Messages: 4

Re: [Mapserver] PHP Mapscript - erreur runtime après compilation (win32)

Pourquoi ne pas passer à la version 5.0.x ? Plus de limite du nombre de layers


SERIEUX !?!?...... Mince, chuis trop ***... j'avais pourtant fait des recherches sur le problème du nombre max de layers et tout le monde suggérait de recompiler (les posts devaient être d'avant la sortie de ms 5).

Je crois que tu viens de m'éviter quelques jours de travail à m'arracher les cheveux. Un ENORME merci à toi, Yves ! Si j'avais un jardin, j'y ferais construire une statue équestre à ta gloire ! wink

En résumé, tout ça pour ça...
Ca aura au moins eu le mérite de me faire prendre conscience de la simplicité de compilation de Java wink

encore une fois merci pour ton aide précieuse et bravo pour ce forum!

PS: pour les thèmes, cela ne paraît pas réalisable dans notre cas particulier. Chaque layer correspond à une espèce. Elles sont toutes "sémantiquement similaires" i.e. il n'y a pas de thème envisageable...

Dernière modification par jack_taty (Tue 22 January 2008 11:17)

Hors ligne

 

Pied de page des forums

Powered by FluxBB