为什么Apache为任何.lc URL返回字符“MZ”

我刚刚在Windows Server 2016 Datacenter(AW​​S EC2实例)上安装了Apache 2.4。 Web服务器似乎工作正常,我可以访问“ http:// localhost / ”,并得到“It Works!” 页。

位置:C:\ Apache24 \

然后,我通过将内容解压到位置:C:\ LiveCode来安装LiveCode社区服务器

该文件夹中的可执行文件是'livecode-community-server.exe'

我的站点文件夹是位置:C:\ MySite

然后我修改了httpd文件如下

将DocumentRoot更改为

DocumentRoot "c:/mysite" 

将目录指令更改为

 <Directory "c:/mysite"> 

将以下内容添加到Directory指令中

 Order allow,deny Allow from all AddHandler livecode-script .lc Action livecode-script "/livecode-cgi/livecode-community-server.exe" 

添加以下新的目录指令

 <Directory "c:/livecode"> Options ExecCGI Order allow,deny Require all granted Allow from all </Directory> 

将以下内容添加到“IfModule alias_module”

 ScriptAlias /livecode-cgi/ "c:/livecode/" 

保存httpd然后重新启动Apache之后,我打开浏览器并转到URL“ http://localhost/test.lc ”

浏览器的响应只是2个字符“MZ”(当查看源代码时,只有这2个字符被发回)

在这种情况下,'test.lc'是C:\ MySite中的一个文件。 这个响应给出了这个文件夹中的任何.lc文件。 此文件夹中的任何.html文件按预期工作。

没有inputApache error.log。 access.log具有以下条目

 ::1 - - [23/Mar/2017:14:27:01 +0000] "GET /test.lc HTTP/1.1" 200 3 

谷歌search这显示绝对没有,所以我只能认为这是我已经错过了一些明显的事情。 任何帮助或暗示,可能会发生什么将非常感激。

*编辑:我忘了提及下面的行是活的(没有注释掉)在httpd,我认为这是我需要的CGI模块加载?

 LoadModule cgi_module modules/mod_cgi.so 

*编辑:我也尝试了以下ScriptAlias,并得到了完全相同的结果(MZ返回和access.log中200成功的代码)

 ScriptAlias /livecode-cgi/livecode-community-server.exe "c:/livecode/livecode-community-server.exe" 

*编辑:这篇文章似乎是关于相同的问题(虽然用Perl而不是LiveCode) https://stackoverflow.com/questions/14792978/perl-apache-perl-script-displayed-as-plain-text

这个问题似乎是在Apache 2.4中发生了一些根本性的改变,导致了一些问题。 链接的post有帮助吗? 感谢你的宝贵时间

在和LiveCode技术支持人员交谈之后,他们确认8.1.3版本有一些问题,将会从他们的网站中撤出。

我下载了8.1.2,并按预期工作。

字符MZ是exe文件格式的幻数,你的web服务器可能会返回livecode-community-server.exe文件的内容。

我不熟悉livecode服务器,但是看这个页面表明你的ScriptAlias可能不正确

ScriptAlias /livecode-cgi/livecode-server.exe“<LiveCode Server文件夹path> /livecode-server.exe”