草莓Perl libeay32_.dll问题

我已经在Windows Server 2008 32位上安装了Strawberry Perl(v5.12.3),我希望运行simpledb CLI工具。

我有一个HOME环境variables的小问题 ,我把它改名为HOMEPATH来解决问题,但是当我试图运行时,我得到了:

This application has failed to start because libeay32_.dll was not found. Re-installing the application may fix this problem. 

任何人都知道如何解决这个问题? 这是草莓Perl的问题吗?

我已经通过删除Windows环境variables中的perlpath语句纠正了这个问题。 他们是从一个旧的安装string的开始。 草莓安装在最后加上了自己的path声明。 这使得新草莓能够以正确的顺序searchpath。

我和Windows Server 2003,草莓和Bugzilla有同样的问题。 我的“解决scheme”是将缺less的.dll文件复制到c:\ windows \ system32中,只要系统告诉我它找不到dll。 缺less的.dll文件都在path中。 以前我试过把它们拷贝到perl.exe所在的目录和其他地方,但是没有任何工作。 唯一的例外是libmysql_.dll文件,该文件在复制到/ strawberry / perl / vendor / lib / auto / DBD / mysql目录时工作。

希望有人会发现真正的问题和/或解决这个问题。

我有同样的问题试图运行Bugzilla,通过Apache和mod_cgi使用Strawberry Perl。 解决的办法是通过mod_cgi调用适当的perl环境。

如果你使用的是可移植的草莓Perl(或者即使你不是值得尝试这个修复),把它添加到你的httpd.conf (如果使用Apache – 如果没有,请看你的web服务器如何设置cgi进程的环境variables):

 Define PERLPATH "C:\path\to\perl" SetEnv PATH "${PERLPATH}\perl\site\bin;${PERLPATH}\perl\bin;${PERLPATH}\c\bin" SetEnv TERM "" SetEnv PERL_JSON_BACKEND "" SetEnv PERL_YAML_BACKEND "" SetEnv PERL5LIB "" SetEnv PERL5OPT "" SetEnv PERL_MM_OPT "" SetEnv PERL_MB_OPT "" 

我将它们放在与其相关的<Directory>中,而不是全局的,但是您的设置可能不同。

我从portableshell.bat发行版捆绑的portableshell.bat中获得了这些信息,并且如果您有其他安装(甚至根本没有),那么这是运行它的唯一正确方法。

尽pipeBugzilla的代码运行在污染模式下(因此应该忽略环境),但似乎并非如此,可能是因为无论是对libeay32_.dll抱怨,都是脚本调用的,而不是实际的主脚本本身。

如果您使用的是草莓Perl,而您从另一台机器复制了安装目录,只需执行update_env.pl.bat (在straberry目录中find)并重新启动您的PC。