Opened 9 years ago

Closed 9 years ago

Last modified 9 years ago

#657 closed defect (fixed)

Unable to load php_MapGuideApi.dll when there are multiple PHP directories in the system PATH

Reported by: ronnielouie Owned by: timstrang
Priority: medium Milestone: 2.1
Component: Web API Version: 2.0.1
Severity: major Keywords:
Cc: External ID: 1063001

Description

When configured with IIS or Apache, the system PATH is used to find the location of dependent DLLS for the php_MapGuideApi.dll. When there are multiple locations for PHP in the system PATH, the first PHP occurrence will be used which is not necessarily correct.

To resolve this issue, php_MapGuideApi.dll and its dependencies should be able to load without relying the PATH environment variable.

Change History (9)

comment:1 Changed 9 years ago by tomfukushima

I see that this is addressed by r3265. It creates a new dll called php_MapGuideHelper, but I'm not too keen on this somewhat generic name. How about php_MapGuideApiLoader? Any other suggestions or opinions?

comment:2 Changed 9 years ago by ronnielouie

I think php_MapGuideApiLoader may be a little misleading because the extension doesn't load the php_MapGuideApi. Since its purpose is to set the system such that the MapGuideApi? can successfully load, how about php_MapGuideApiConfig?

comment:3 Changed 9 years ago by tomfukushima

Oh, OK, I thought it loaded the php_MapGuideApi dll. I like your suggestion.

comment:4 Changed 9 years ago by ronnielouie

Renamed php_MapGuideHelper to phpMapGuideApiEnvConfig. See r3266.

Remaining tasks for this ticket are to update the installer for windows to include the new extension, update the php.ini file to load the extension, and to no longer add PHP to the system PATH.

Also the Building and Configuring MGOS on Windows document should be updated to add instructions for loading the new extension via php.ini and to omit the step for adding PHP to the PATH.

comment:5 Changed 9 years ago by ronnielouie

Owner: changed from ronnielouie to timstrang

Assigning to Tim for the installer tasks

comment:6 Changed 9 years ago by crispinatime

comment:7 Changed 9 years ago by jng

The new installer configures php.ini to load this new extension.

Any adventurous soul wants to try the new installer to see if thi scenario is covered?

comment:8 Changed 9 years ago by jbirch

Resolution: fixed
Status: newclosed

I've tested this with my latest 2.1 build, running PHP 5.3 earlier in my path than MapGuide's PHP, and MapGuide amazingly continues to work. Closing; please re-open if you see different results.

comment:9 Changed 9 years ago by tomfukushima

This was fixed by r3265 and r3266

Note: See TracTickets for help on using tickets.