fpm-php + nginx + POST数据

vs3odd8k  于 7个月前  发布在  Nginx
关注(0)|答案(2)|浏览(57)

当发送一个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;
}

字符串

0s0u357o

0s0u357o1#

首先,将include fastcgi_params指令移到顶部,在任何fastcgi_param指令之前,以确保它不会覆盖参数,您定义内部位置。
看起来相同的请求被不同的脚本处理,检查@bitrix fallback做了什么。
您可以在nginx配置中添加访问和错误日志,并在发出请求后检查这些文件。如果没有帮助,可以安装**nginx echo module,它确实有助于调试。
你用的是哪个php版本?我听说旧版本也有同样的问题,在
PHP 5.3**下

kyxcudwk

kyxcudwk2#

解决方案-https://bugs.php.net/bug.php?id=80385&edit=1,关闭fpm-php 9000端口,用于从网络访问。

相关问题