我在共享托管环境中有一个长时间运行的脚本,它输出一堆XML
有时(仅在某些情况下),随机GZIP标题将出现在我的输出中,输出将被终止.
例如
0000000: 3c44 4553 435f 4c4f 4e47 3e3c 215b 4344要么
0000000: 3c2f 5052 4f44 5543 543e 0d0a 1fc2 8b08 ...... 0000010: 0000 0000 0000 03c3 b3c3 8b57 c388 c38c ...........W.... 0000020: 2b28 2d51 48c3 8bc3 8c49 5528 2e48 4dc3 +(-QH....IU(.HM. 0000030: 8e4c c38b 4c4d c391 c3a3 0200 c291 4464 .L..LM........Dd 0000040: c383 1900 0000 0d0a ........要么
0000000: 3c4d 4544 4941 5f55 524c 3e2f 696d 6167/imag 0000010: 6573 2f69 6d70 6f72 7465 642f 7374 6f63 es/imported/stoc 0000020: 6b5f 7072 6f64 3235 3339 365f 696d 6167 k_prod25396_imag 0000030: 655f 3531 3737 3439 3436 302e 6a70 673c e_517749460.jpg< 0000040: 2f4d 4544 4941 5f55 1fc2 8b08 0000 0000 /MEDIA_U........ 0000050: 0000 03c3 b3c3 8b57 c388 c38c 2b28 2d51 .......W....+(-Q 0000060: 48c3 8bc3 8c49 5528 2e48 4dc3 8e4c c38b H....IU(.HM..L.. 0000070: 4c4d c391 c3a3 0200 c291 4464 c383 1900 LM........Dd.... 0000080: 0000 0d0a .... 切换到GZIP似乎没有在任何特定时间点击字节数,它可以在1MB数据之后或在15MB之后
相应行的编译刀片模板如下
display_name; ?>]]> -
models()->get() as $model): ?>-
/images/imported/local_name; ?> 我在我的智慧结束时,我尝试了以下方法:
禁用服务器上的gzip.
运行
while(ob_get_level()){ ob_end_clean(); }
运行脚本之前在
.htaccess
我尝试过SetEnv no-gzip 1
,SetEnv no-gzip dont-vary
以及其中的各种排列.
当我访问其他页面时,没有出现gzip编码或标题,所以我认为这是输出大小或输出缓冲区.