Включение сжатия GZIP для php-скрипта

Я включил gzip в своих php-скриптах, выполнив следующие действия:

<? ob_start("ob_gzhandler"); 
?>
<?php
header('Content-Type: application/json');
header('Accept-Encoding: gzip');

/* Request data, transform it, json_encode it, echo */

?>
<? ob_flush(); ?>

Это работало на паре хостов, но когда я перешел на Hosting24, это просто не работало.

Я также включил «Сжать весь контент» в разделе оптимизации веб-сайта cPanel, а также отредактировал файл .htaccess примерно так: https://stackoverflow.com/a/8262235/2237587

Хостинг24 заверил меня в этом:

Our servers support mod_gzip, mod_deflate by default. 

To use GZIP, please call the function ob_start("ob_gzhandler"); at the top of your script. Also remember to call the function ob_flush(); at end

Я делаю это, но это не работает для Hosting24. Когда я использую тот же сценарий в другом сервисе (проверено на 000webhost и Arvixe), ответ сжимается.

Что я могу попробовать дальше, чтобы сжать его, честно говоря, я понятия не имею, почему он уже не работает.


person Simon    schedule 21.05.2013    source источник
comment
Спасибо за предложение, но оно не сработало   -  person Simon    schedule 21.05.2013
comment
GZIP работает, когда я устанавливаю тип контента как text/html, но мне нужно, чтобы тип контента был application/json, чтобы хорошо работать с AFNetworking. Это проблема с тем, что Hosting24 не принимает application/json в качестве типа контента?   -  person Simon    schedule 21.05.2013


Ответы (1)


Замена этого:

header('Content-Type: application/json');

с

header('Content-Type: text/javascript');

исправил проблему. Не уверен, что это проблема с Hosting24 или нет. text/javascript позволяет мне использовать json-запрос AFNetworking, поэтому я доволен результатом.

person Simon    schedule 21.05.2013