Учет трафика PHP

мы рассчитываем использование трафика клиентами с помощью журналов доступа NGINX/apache. Теперь у меня возник большой вопрос.

Что, если я сделаю это:

<?php
    file_get_contents( "http://www.speedtest.qsc.de/1GB.qsc" );
?>

Сам вызов будет простым GET всего с несколькими байтами/килобайтами, но при условии, что у нас достаточно memory_limit и max_execution_time, скрипт загрузит файл размером 1 ГБ. Это вообще не будет регистрироваться, верно?

Есть ли способ отследить что-то вроде того, что я упоминал выше?

заранее спасибо


person JLW    schedule 27.11.2013    source источник


Ответы (1)


для apache журнал по умолчанию

LogFormat "%h %l %u %t \"%r\" %>s %b"

%b представляет Size of response in bytes, excluding HTTP headers. In CLF format, i.e. a '-' rather than a 0 when no bytes are sent

Вы, вероятно, могли бы использовать это

http://httpd.apache.org/docs/2.2/mod/mod_log_config.html

для nginx тоже по умолчанию

log_format compression '$remote_addr - $remote_user [$time_local] '
                       '"$request" $status $bytes_sent '
                       '"$http_referer" "$http_user_agent" "$gzip_ratio"';

http://nginx.org/en/docs/http/ngx_http_log_module.html

person exussum    schedule 27.11.2013
comment
это не будет учитывать трафик, который вызовет загрузка php, если загруженный файл не отображается и просто отбрасывается. ответ будет 0 байт (без вывода) - person JLW; 27.11.2013
comment
Это помогает? stackoverflow.com/ вопросы/4470716/ - person crafter; 27.11.2013
comment
к сожалению, нет - мы не можем ничего изменить в коде клиента, поэтому мы не можем добавить какие-либо специальные команды ведения журнала в сам исходный код. - person JLW; 27.11.2013