Я использую Windows Server 2008 R2 Enterprise с установленным Apache Server и mod_perl и mod_ssl. Я только что установил Apache2::ModSSL, но я не смог использовать для этого cpan, и мне пришлось скомпилировать его с помощью nmake. CPAN работает неправильно на этом сервере, и я не могу это изменить. Perl-скрипт, вызываемый через https, позже должен иметь доступ к сертификату, который клиенты использовали для аутентификации, поэтому я хочу использовать Apache2::ModSSL для доступа к переменным SSL.
Когда я пытаюсь получить доступ к своему тестовому сценарию после реализации
use Apache2::ModSSL;
я получаю ошибку HTTP500 от сервера. В журнале ошибок серверов указано
[Fri Jul 01 15:01:58 2016] [error] [client 10.217.139.184] failed to resolve handler `ssl::hello': Can't load 'C:/Apache/Perl/site/lib/auto/Apache2/ModSSL/ModSSL.dll' for module Apache2::ModSSL: load_file:The specified module could not be found at C:/Apache/Perl/lib/XSLoader.pm line 68.\n at C:/Apache/Perl/site/lib/Apache2/ModSSL.pm line 8\nCompilation failed in require at ssl/hello.pm line 7.\nBEGIN failed--compilation aborted at ssl/hello.pm line 7.\nCompilation failed in require at (eval 3) line 3.\n
Когда я проверяю местоположение файла, ModSSL.dll сохраняется именно по этому пути. Я также проверил доступ к файлу и предоставил полный доступ всем пользователям, системе, администраторам и т. д. Apache перезапускался несколько раз, и это ничего не изменило. Когда я попытался выполнить его в cmd, очевидно, не было соединения для проверки, но я мог выполнить
use Apache2::ModSSL;
print Apache2::ModSSL->VERSION;
без проблем. Как решить проблему с загрузкой модуля в Apache?
Состояние Readme сервера
Это бинарный дистрибутив Perl 5.8.7 и Apache 2.0.54 для Win32 вместе с mod_perl-2.0.1, mod_ssl/OpenSSL (0.9.7g) и php-4.3.11, все собрано с помощью VC++ 6.0 (SP5). .
cl -version
состояния
Microsoft (R) 32-разрядный оптимизирующий компилятор C/C++ версии 15.00.30729.01 для 80x86
nmake -version
состояний
Утилита обслуживания программы Microsoft (R) версии 9.00.30729.01
perl
и XS должны быть скомпилированы одним и тем же компилятором. - person Sinan Ünür   schedule 01.07.2016nmake
вызывается? Чтоcl
дает вам как номер версии? Вы единственный человек, который может знать эти вещи, поэтому обновите свой вопрос информацией. - person Sinan Ünür   schedule 01.07.2016