草庐IT

php - 如何从 PHP 禁用 nginx gzip?

我很想阻止nginx压缩单个PHP请求。我已经有以下内容:@ini_set('zlib.output_compression','Off');@ini_set('implicit_flush',1);header('X-Accel-Buffering:no');根据我所发现的一切,单独使用X-Accel-Buffering应该禁用gzip,但是当我从浏览器加载此页面时,我仍然可以看到标题:Content-Encoding:gzip我正在使用php7-fpm、nginx1.10.1、debian8编辑:我用sleep()做了一个延迟输出的测试。它看起来像header('X-Accel-B

php - 获取元标记在 php 中不起作用

我正在尝试获取网站的元标记。这是我的代码$tags=get_meta_tags('https://www.wired.com/story/avengers-infinity-war-d23-footage');print_r($tags);exit;这返回空。任何的想法?Wesbite使用gzip之类的压缩。 最佳答案 你需要解压它,你可以使用streamwrapper为了。例如:$tags=get_meta_tags('compress.zlib://https://www.wired.com/story/avengers-inf

php - GZIP、 Apache 、PHP : What should I know to implement in a mature site?

Apache2.2.17PHP5.3.3目前,我的应用程序不使用gzip,但我希望它使用。但是,我不确定一些事情:我知道IE6有问题;无需回到此处。在Apache(mod_deflate)和PHP中实现这个有什么好处/缺点?他们基本上产生相同的结果吗?我假设Apache会更高效,这是一个正确的假设吗?该应用会生成多种类型的响应:pdf、xml、zip、xls、csv、图像(请参阅下一点),当然还有普通的AJAX类型的内容。我看到很多示例选择不对图像进行gzip压缩,这是为什么呢?是因为假设大多数图像已经是压缩格式,还是与它是二进制数据有关?我确实动态创建了一些图像,并静态地为其他图像提

php - CodeIgniter 路由不起作用

我的路由有问题。我的默认Controller(mysite.com)可以工作,但如果我尝试其他任何操作(例如mysite.com/dashboard),它会转到基于服务器的404,而不是CodeIgniter。这非常令人困惑,因为目前我的routes.php文件中只有2个路径。以下是我的routes.php文件中未注释的部分:$route['404_override']='';$route['default_controller']='pages/view';$route['(:any)']='pages/view/$1';我的Controller位于/application/cont

php curl,检测响应是否为 gzip

我正在使用curl从许多网站获取数据。有时他们会发回gzip。如何检测响应是否为gzip? 最佳答案 顺便说一句,如果你设置:CURLOPT_ENCODING=>'',CURL会自动为您解码数据。 关于phpcurl,检测响应是否为gzip,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4281630/

php - 使用 IIS 禁用单个 php 文件的 Gzip 压缩

我有一个在Internet上似乎不太常见的配置(带有IIS的PHP),因此到目前为止我还没有找到解决我的问题的方法。基本上当我在我的php页面上发送手动404header时:header('HTTP/1.0404NotFound');问题是我总是遇到编码错误,我确定这与启用gzip有关。当我使用--compressed进行curl时,我得到:HTTP/1.1404NotFoundCache-Control:no-store,no-cache,must-revalidate,post-check=0,pre-check=0Pragma:no-cacheContent-Length:356

php - 返回预压缩的静态内容而不是动态压缩

我在数据库中索引了很多静态JSON文本内容。其中一些内容大于20K。网页通过Ajax请求此内容并调用PHP文件以获取数据库中的数据。当然,可以即时gzip返回的内容,但我想知道我是否可以获取预先gzip的内容并直接从PHP返回它。换句话说,我可以预先gzip条目并将它们存储在数据库本身中,而不是全文。这可能吗?如果是,我如何在PHP中指示返回的内容是gzip二进制文件?我对纯文本使用echo,但是对于二进制数据我应该使用哪个命令呢?我不是PHP专家。谢谢。 最佳答案 您还可以回显gzip压缩后的数据。echo只是“将这些字节写入输出

php - 同时使用分块传输编码和 gzip

我最近开始在我的网站上使用gzip,它在所有浏览器上都非常有效,但Opera除外,它给出了一个错误,说由于数据损坏,它无法解压缩内容。从我从测试和谷歌搜索中收集到的信息来看,使用gzip和分块传输编码可能是一个问题。请求像css-files这样的小文件时没有错误的事实也指向了那个方向。这是一个已知问题还是还有其他我没有考虑过的问题?有人还提到它可能与发送Content-Lengthheader有关。这是我代码中最相关部分的简化版本:$contents=ob_get_contents();ob_end_clean();header('Content-Encoding:'.$encodin

php - 使用 php 创建和提供压缩文件

我正在尝试使用以下代码从目录创建一个zip文件,并通过http下载将其提供给用户://writethefilefile_put_contents($path."/index.html",$output);//zipupthecontentschdir($path);exec("zip-r{$course->name}./");$filename="{$course->name}.zip";header('Content-Type:application/octet-stream');header('Content-Disposition:attachment;filename='.ur

php - 为什么 PHP 的 gzuncompress() 函数会出错?

PHP有自己的函数来处理gzip文件。我写了下面的代码:error_reporting(E_ALL);$f=file_get_contents('http://spiderbites.nytimes.com/sitemaps/www.nytimes.com/sitemap.xml.gz');echo$f;$f=gzuncompress($f);echo"";echo$f;第一个echo通常会输出带有正确header的压缩文件(至少前两个字节是正确的)。如果我用浏览器下载这个文件,我可以很容易地解压它。但是gzuncompress抛出警告:gzuncompress():第5行/home/