Thanks Jeff.
The environment variable is definitely set in system variables, and I've
rebooted a few times now. It also happens on both a w08r2 server and a
Windows 7 machine.
I can see it in
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session
Manager\Environment
I'm using x64 MapServer, but the environment variables appear in my x64
Python script.
I had this working a couple of years ago, and tried to see if anything
has changed in the MS source since but no luck.
I think I should also be able to set it in the web.config using the
following, but also no luck:
<fastCgi>
<application fullPath="C:\Mapserver\bin\mapserv.exe">
<environmentVariables>
<environmentVariable name="CURL_CA_BUNDLE"
value="C:\Mapserver\bin\curl\curl-ca-bundle.crt" />
</environmentVariables>
</application>
</fastCgi>
Regards,
Seth
On 09/02/2015 17:02, Jeff McKenna wrote:
On 2015-02-09 10:30 AM, geographika wrote:
Hi list,
There seems to be an issue with running FastCGI under IIS 7.5 and
environment variables used by MapServer. I need to point to a
curl-ca-bundle.crt file to access a remote WFS server, and it appears
this can only be set using an environment variable named CURL_CA_BUNDLE.
In brief, if I run the following from the command line:
mapserv -nh
"QUERY_STRING=map=C:\Mapserver\apps\test\test.map&SERVICE=WFS&VERSION=1.1.0&REQUEST=GetCapabilities"
My error log contains
[Mon Feb 09 14:47:29 2015].66000 HTTP: Starting to prepare HTTP
requests.
[Mon Feb 09 14:47:29 2015].66000 Using CURL_CA_BUNDLE=curl-ca-bundle.crt
If I run
http://localhost/mapserver/?map=C:\Mapserver\apps\test\test.map&SERVICE=WFS&VERSION=1.1.0&REQUEST=GetCapabilities
in the browser the "Using CURL_CA_BUNDLE" line does not appear and my
certs are not found.
It appears this is not limited to this variable - setting MS_ERRORLOG as
a system variable is also ignored.
I have checked that the variables are available using a Python script
running in IIS. I've also tried setting up custom environment variables
for the FastCGI app, played with all sorts of permissions, but no luck.
Tamas's blog mentions:
"The main issue here is that most of the libararies use *getenv *to
retrieve the environment setting, which operates only on the data
structures accessible to the run-time library (msvcrt) and not on the
environment "segment" created for the process by the operating system."
http://blog.gisinternals.com/2010/12/daily-built-binary-packages-for.html
However I'm not sure what the workaround here is exactly.
This issue appears to have come up before on the list -
http://lists.osgeo.org/pipermail/mapserver-users/2014-February/075983.html
Any help appreciated.
Regards,
Seth
--
web:http://geographika.co.uk
twitter: @geographika
MS4W sets that environment variable through an Apache directive; for
IIS clients using MS4W, I always make sure to set System (not User)
environment variables, and always always reboot the server manually
after setting these variables (for some reason, whenever I set this up
with MS4W on IIS I have to reboot the client's server for IIS to "see"
them).
-jeff
_______________________________________________
mapserver-users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/mapserver-users