Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 网页问题-传输编码在http1.1和http1.0中分块_Php_Http_Chunked Encoding - Fatal编程技术网

Php 网页问题-传输编码在http1.1和http1.0中分块

Php 网页问题-传输编码在http1.1和http1.0中分块,php,http,chunked-encoding,Php,Http,Chunked Encoding,我有一个已经运行了7年的网站。最近,我们开始看到一个问题,即数字被添加到少数用户的网页上-数字将是8000左右的十六进制数字-通常类似于1fxx,其中xx是另一个十六进制数字。经过一些研究,我发现它们出现在使用特定代理的特定网络上,并且与分块传输编码相关。例如,我们在AT&T上的iOS 8上一直都能看到它,但在AT&T上运行iOS 7时却看不到。有些页面多年前就已经编写了代码,直到最近才出现问题。其他页面是新的。如果网络有问题,它会出现在所有新旧页面上 我们发现,如果我们在文件的顶部放一个php

我有一个已经运行了7年的网站。最近,我们开始看到一个问题,即数字被添加到少数用户的网页上-数字将是8000左右的十六进制数字-通常类似于1fxx,其中xx是另一个十六进制数字。经过一些研究,我发现它们出现在使用特定代理的特定网络上,并且与分块传输编码相关。例如,我们在AT&T上的iOS 8上一直都能看到它,但在AT&T上运行iOS 7时却看不到。有些页面多年前就已经编写了代码,直到最近才出现问题。其他页面是新的。如果网络有问题,它会出现在所有新旧页面上

我们发现,如果我们在文件的顶部放一个php headerHTTP/1.0 200 OK,那么对于那些有代理的网络来说,问题就解决了。然而,在另一组经常运行三星Galaxy S5机器的人身上,他们现在得到一个错误,即该站点不可用。因此,如果我强制它使用HTTP1.0,我会让它停止对某些人工作。如果我没有,其他人就有问题了。对大多数人来说,这两种方法都有效

web堆栈是CentOS 6.5版、Apache/2.0.64、MySQL 5.1.73、PHP5.2.9


我是否可以输入一些东西来检测是否应该输入HTTP1.0头文件?我应该寻找什么来尝试让它开始使用那些导致分块传输编码无法正确解释的代理。有没有办法增加分块数据的大小,使整个页面成为一个分块?

我觉得这很难相信。任何不能处理分块编码的客户端或代理都将在数千个网站上崩溃。我同意,但不知道为什么会发生这种情况。我能有什么可能的环境使这发生呢。它发生在旧代码上的事实意味着它不在我的HTML代码中。您运行的是一个相当旧的PHP版本,以及Apache的EOL版本。请原谅我的无知,我感谢您的帮助-编码与Apache无关,与PHP无关。是否有可能升级Apache并保留PHP版本,因为其中一些代码是7年前编写的,可能使用已弃用的PHP代码。或者我需要同时升级两者。我对Apache和PHP是如何协同工作的了解不够,无法确定是哪一个负责。分块编码已经存在很长时间了,如果其中任何一个应用程序的任何版本在这方面有缺陷,我都会感到惊讶。