草庐IT

php - 在 PHP 5.3 中执行 tar.gz 操作 - CLI 与 Phar?

我需要在Apache(php5.3)上运行的php脚本中执行一些targzip操作。过去,我用过:newPharData($archivePath.'.tar');$p=$p->convertToExecutable(Phar::TAR,Phar::GZ);$p->startBuffering();但是在这种情况下,它可能必须处理1GB+文件。所以我担心php/apache过载。在那种情况下,是否最好依靠shell_exec并让操作系统承担负载? 最佳答案 我同意MarcB的观点,我会想到的主要考虑因素是:部署环境...使用Shel

php - 内容编码错误

我有一个带有gzip的页面,在我的php索引文件中有ob_start('ob_gzhandler');[HTTP_ACCEPT_ENCODING]具有gzip、deflate值,甚至我在某些刷新情况下收到关于编码的错误。在htacces中,我添加了php_valuezlib.output_compressionOff什么也没有。知道如何解决这个问题吗?谢谢。 最佳答案 可能是一个短时间的修复,但这对我有用,这样我至少可以看到该网站。转到“关于:配置”在过滤器类型编码中。寻找“network.http.accept-encoding”

php - 如何使用 curl 和 php 发送 gziped xml 内容

我的代码如下所示,但我无法成功获得响应。我的代码有什么问题吗?代码:$headers=array('Content-Type:text/xml;charset=UTF-8','Content-Encoding:gzip',);$gziped_xml_content=gzencode($xml_content);$ch=curl_init();curl_setopt($ch,CURLOPT_HEADER,0);curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);curl_setopt($ch,CURLOPT_URL,$the_web_service_url

php - Gzip 压缩和利用浏览器缓存不适用于我的商店

我正在尝试优化我的商店,我在我的.htaccess文件中添加了Gzip代码和杠杆浏览器缓存代码:#Leveragebrowsercachingusingmod_expires#ExpiresActiveOnExpiresByTypeimage/jpg"accessplus1year"ExpiresByTypeimage/jpeg"accessplus1year"ExpiresByTypeimage/gif"accessplus1year"ExpiresByTypeimage/png"accessplus1year"ExpiresByTypetext/css"accessplus1mon

PHP:加载 gzip 压缩的 javascript 文件

将一组20-30个.js文件连接成一个大文件是个好主意,用gzip压缩这个文件,将它保存为类似somebigjsfile.js.gz的文件,然后像这样用加载它。?当至少有一个.js文件被修改时(使用php的filemtime检查),该文件将再次生成。此外,如果相关,这是针对公共(public)应用的。 最佳答案 我假设您正在尝试节省服务器上的开销,因为每次请求都必须对javascript包进行gzip压缩?如果那是意图,那么这不是实现它的正确方法。您需要在header中指明该文件正在使用gzip压缩进行传输,例如:HTTP/1.12

php - 如何检查 PHP 是否启用了 gzip 压缩?

(function_exists('ob_gzhandler')&&ini_get('zlib.output_compression'))够了吗?我想检查主机是否在其中一个页面中提供压缩页面:) 最佳答案 对于PHP,他们会做得很好。但是,如果您指的是将页面压缩返回给客户端,您还需要检查它是否已在apache中启用(假设您使用的是apache,您将需要mod_gzip.c或mod_deflate.c模块)。例如:#httpd-l(Apache2)我还看到过去提到需要实现.htaccess覆盖:#compressalltext&htm

php - gzcompress 是如何工作的?

我想知道为什么我需要在使用gzcompress()后切断最后4个字符。这是我的代码:header("Content-Encoding:gzip");echo"\x1f\x8b\x08\x00\x00\x00\x00\x00";$index=$smarty->fetch("design/templates/main.htm")."\n";$this->content_size=strlen($index);$this->content_crc=crc32($index);$index=gzcompress($index,9);$index=substr($index,0,strlen($

php - 我如何在 Zend Framework 中将我的响应设为 "gzip"?

我知道这段代码:将启用gzip。但是,将其应用于我所有的ZendFrameworksView和Layout的正确方法是什么? 最佳答案 不是从PHP压缩(这意味着只有您的HTML生成的内容会被压缩),您可以要求Apache为您压缩——使用它的mod_deflate模块。巨大的优势:它可以让您的服务器压缩HTML,当然……还有JS和CSS;对于访问您网站时必须下载这些内容的用户来说,这意味着巨大的yield。注意:如果您不使用Apache,其他网络服务器具有mod_deflate的等价物;-)

php - 使用 simplexml_load_file() 加载压缩的 XML 文件

我正在尝试使用simplexml_load_file()PHP函数加载一个gzip压缩的XML文件,但我不知道如何解码它以便我可以使用其中的数据。 最佳答案 PHP有supportforzlibcompression内置,只需在文件的路径前加上gzip数据compress.zlib://就可以了:$xml=simplexml_load_file("compress.zlib://test.xml");像魅力一样工作。 关于php-使用simplexml_load_file()加载压缩的X

c# - 在PHP中,解压后的gz字符串中每个字符后面都有^@,为什么?

我从C#(使用SharpZipLib)发送一个gzip字符串到PHP,然后我用readgzfile解压缩。这是可行的,但是字符串中的每个字符后跟两个奇怪的字符(在控制台中使用vim,这些字符显示为^@)。我也试过gzopen/gzread但结果相同。当我使用$clean=preg_replace('/[^(\x20-\x7F)]*/','',$string);清除字符串中的非ASCII字符时$clean字符串与C#中的相同。虽然这有效,但我想知道发生了什么以及为什么这样我可以确保它始终有效或提出更好的解决方案。 最佳答案 鉴于该字符