Windows + GTK2 + Perl + Apache,遇到Can't load Glib.dll错误

geekster 2013-05-13 01:50:47
各位大侠:
小弟是perl菜鸟,近来在window xp下用gtk2+perl画了个界面,在本地可以运行成功。
我装gtk2用的是camel box,安装路径是C:\camelbox,
Perl用的版本是5.10,安装路径是C:\Perl
然后我想用Apache建一个服务器端,让客户端可以通过ip来访问执行我写的这个小程序,名字是test.cgi,插一句,不知为什么我不管怎么修改Apache的配置文件httpd.conf,都无法从客户端执行test.pl,而改为test.cgi就可以运行了
环境变量设置如下:
PERL5LIB C:\camelbox\site\lib

PATH C:\camelbox\bin;C:\camelbox\site\lib\auto\Glib

Path c:\perl\site\bin;c:\perl\bin;C:\Perl\site\bin;C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program Files\Windows Imaging\;C:\PROGRA~1\JnDTech\CVD\bin;C:\Dev-Cpp\MinGW32\bin;C:\camelbox\site\lib

我遇到的问题是:
从客户端访问Apache服务器,类似这样:http://XXX.XXX.XXX.XXX/cgi-bin/test.cgi,会遇到ternal Server Error错误。在Apache的error.log中会有这样的log:
Can't load 'C:\\camelbox\\site\\lib/auto/Glib/Glib.dll' for module Glib: load_file:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3 at C:/Perl/lib/DynaLoader.pm line 201.\r
at C:/Apache2.2/cgi-bin/test.cgi line 11\r
Compilation failed in require at C:/Apache2.2/cgi-bin/test.cgi line 11.\r
BEGIN failed--compilation aborted at C:/Apache2.2/cgi-bin/test.cgi line 11.\r

我在网上查到这样的解答:
如果提示不能导入 Glib.dll,请确认 Gtk 运行环境的 bin 目录是系统环境变量 PATH 中,没有的话要加到这个环境变量中

我尝试的方法为:
1.确认服务器端的环境变量已经正确设置;
2.client端的环境变量设置为和服务器端一样;
3.在test.cgi中加入
BEGIN {
unshift(@INC, "C:\\camelbox\\site\\lib");
}
BEGIN {
unshift(@INC, "C:\\camelbox\\site\\lib\\auto\\Glib");
}
use lib "C:/camelbox/site/lib"
4.修改服务器端的C:/camelbox目录权限为完全控制

沮丧地发现以上方法都不行都不行,恳请各位大侠指点一二,小弟在此跪谢了!

PS,这种使用Apache架设服务器端,在服务器端生成界面,真的可以传到客户端吗?会不会从理论上就是不可行的?



...全文
342 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
uranas 2013-05-13
  • 打赏
  • 举报
回复
客户端执行test.pl是看环境参数path path C:\camelbox\site\lib 试试
geekster 2013-05-13
  • 打赏
  • 举报
回复
不好意思,刚才有个地方贴错了,Apache的error.log是: Can't load 'C:/camelbox/site/lib/auto/Glib/Glib.dll' for module Glib: load_file:\xd5\xd2\xb2\xbb\xb5\xbd\xd6\xb8\xb6\xa8\xb5\xc4\xc4\xa3\xbf\xe9\xa1\xa3 at C:/Perl/lib/DynaLoader.pm line 201.\r at C:/Apache2.2/cgi-bin/test.cgi line 11\r Compilation failed in require at C:/Apache2.2/cgi-bin/test.cgi line 11.\r BEGIN failed--compilation aborted at C:/Apache2.2/cgi-bin/test.cgi line 11.\r

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧