当发送一个POST请求时,fpm-php会混乱地返回一个正常处理的PHP脚本<?=die("111");?>
将返回“111”或响应200以及POST请求本身的正文,格式为:“rnd=1173943626&sessid= b2 e74736 d 05 a7 d16 efbfa 99 a603 c66 ad”。
Nginx.conf没有任何具体的东西,PHP处理是这样执行的:
location ~ \.php$ {
try_files $uri @bitrix;
fastcgi_pass fpm-php:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_read_timeout 99999;
}
字符串
2条答案
按热度按时间0s0u357o1#
首先,将
include fastcgi_params
指令移到顶部,在任何fastcgi_param指令之前,以确保它不会覆盖参数,您定义内部位置。看起来相同的请求被不同的脚本处理,检查@bitrix fallback做了什么。
您可以在nginx配置中添加访问和错误日志,并在发出请求后检查这些文件。如果没有帮助,可以安装**nginx echo module,它确实有助于调试。
你用的是哪个php版本?我听说旧版本也有同样的问题,在PHP 5.3**下
kyxcudwk2#
解决方案-https://bugs.php.net/bug.php?id=80385&edit=1,关闭fpm-php 9000端口,用于从网络访问。