Opened 16 years ago

Last modified 16 years ago

#2628 new defect

broken entry point in xerces 2.7 dll with default ms4w.zip file version 2.27 - resolved as php cfg issue

Reported by: phloidster Owned by: sdlime
Priority: low Milestone:
Component: MapServer C Library Version: unspecified
Severity: minor Keywords:
Cc:

Description

After unzipping ms4w.zip (v 2.27), start apache naviagte browser to localhost

and get error message: 'entry point ??0XMLEntityDecl@xerces_2_7@@QAE@QB_W_WQAVMemorymanager@1@@Z could not be located in dynamic link library xerces-c_2_7.dll

this appears to come from php-cgi.exe

apache/mapserver default page then comes up; i have not tried to run any other php or mapserver app after getting this, may try that next

but as is, this is troublesome: apparently not all necessary dependencies are included in the zipfile -- note i did not run an installer, and am running apache (httpd) as app, not service

i have other instance of apache 2.28 and php 5.25 and xerces 2.7 running ok elsewhere without this error (but not running at same time; this is isolated)

Change History (1)

comment:1 by phloidster, 16 years ago

Priority: normallow
Severity: normalminor
Summary: broken entry point in xerces 2.7 dll with default ms4w.zip file version 2.27broken entry point in xerces 2.7 dll with default ms4w.zip file version 2.27 - resolved as php cfg issue

I have determined that this behavior (cgi-php looking for non existant entry point in xerces dll) was caused by a registry entry on my system which caused a php.ini file to be loaded from a different location. Specifically, MapGuide Open Source placed a reg key in HKLM/Software to specify the path of php.ini. This cascaded into an incorrect version of cgi-php being invoked.

Although caused by MGOS, this seems a bit fragile on MapServer's part. Perhaps there is a way for MapServer to force it's own php.ini no matter what other apps have done to the registry?

Note: See TracTickets for help on using tickets.