【发布时间】:2017-08-07 21:29:45
【问题描述】:
我正在使用 NGINX 调用另一个 apache/PHP 服务。以下是我的 NGINX 代码,
location /hello {
content_by_lua_block {
res = ngx.location.capture("/forward2");
ngx.say("status: " .. res.status);
ngx.say("result: " .. res.body);
}
}
location /forward2{
proxy_pass http://127.0.0.1:2002/index2.php;
}
我有一个非常简单的php代码,
<?php
echo "123456789";
echo "123456789";
echo "123456789";
echo "123456789";
echo "123456789";
echo "123456789";
我的问题是,当我超过 php sctpt 中的输出字符数超过 65 个字符时,我会得到以下奇怪的 body 输出
status: 200 result: ‹30426153·°4Ò,@£)AÈ
如果我在 PHP 代码中的输出字符较少,那么我得到正确的输出如下,(在以下情况下只有三个 php echo 行)
status: 200 result: 0123456789012345678901234567890123456789
你知道为什么会这样吗?
注意:如果我直接访问 php(不是通过 NGINX),我总是能得到任意数量的字符的正确输出。
【问题讨论】: