我收到以下错误:
[Fri Feb 19 08:55:41 2016] [错误] [client 172.16.30.100] FastCGI: 服务器“/home/admin/soap/server.fcgi”stderr:HTTP ::消息内容 必须是字节数 /usr/local/lib/perl5/site_perl/5.8.9/SOAP/Transport/HTTP.pm第317行
[Fri Feb 19 08:55:41 2016] [错误] [client 172.16.30.100] FastCGI: 从服务器收到的不完整标头(0字节) “/home/admin/soap/server.fcgi”[Fri Feb 19 08:55:41 2016] [warn] FastCGI:服务器“/home/admin/soap/server.fcgi”(pid 45466)终止 通过调用状态为'255'的退出
以下是HTTP.pm的第317行。感谢您对修复的任何输入。
$self->response(HTTP::Response->new(
$code => undef,
HTTP::Headers->new(
'SOAPServer' => $self->product_tokens,
$compressed ? (
'Content-Encoding' => $COMPRESS) : (),
'Content-Type' => join(
'; ',
'text/xml',
!$SOAP::Constants::DO_NOT_USE_CHARSET && $encoding ? 'charset=' . lc($encoding) : ()
),
'Content-Length' => SOAP::Utils::bytelength $response),
$response,
));
$self->response->headers->header('Content-Type' => 'Multipart/Related; type="text/xml"; start="<main_envelope>"; boundary="'.$is_multipart.'"') if $is_multipart; }
答案 0 :(得分:0)
错误消息几乎告诉你所有关于它的信息:你提供HTTP::Response
变量的$response
对象的内容必须是字节 - 即没有0-255范围之外的任何字符的缓冲区。使用Encode::encode
将其从Perl内部表示转换为协议所需的任何编码。
顺便说一句,这与fastcgi
无关。第一个错误导致脚本死亡而不发出响应,从而导致第二条错误消息。