Коллеги, нужна подсказка.
Сегодня после обновления модулей на сервере (делал через webmin, даже не глянул толком) PHP стал генерить какие-то символы после вывода. Причем все равно, есть в фале какой-то код или он просто с текстом.
Выглядит это вот так:
Пока ничего путного не нагуглил (везде в основоном один и тот же совет — убирать лишние пробелы, но это не тот случай), а время уходит.
Что это может быть?

Linux Nix Web Development - http://linuxoids.org/ размер 435x147, 21.41 kb

Tagged with →  

32 Responses to Коллеги, нужна подсказка.

  1. Xxxno:

    webmin! webmin блеать!

  2. 1p_Velo:

    это глюк. откатывай обновления взад

  3. SbVelo:

    А чего не так то?

  4. Vsaenko:

    Возможно, бэкенд живет за http-1.0 франтендом (nginx), но при этом выдает http-1.1 chunked ответы

  5. SbVelo:

    Я тоже вспомнил эту статью на хабре, но nginx не установлен, только апач. И как я посмотрел по логам, как раз в нем сегодня обновления и были.
    Пытаюсь разобраться, как их откатить.

  6. Yedwhite:

    кодировка UTF-8/Win cp1251 в настройках обработчика сбилась
    подозреваю, что парсер несколько раз перекодировал одно в другое, видимо в старой версии ты руками настраивал языковый настройки, а в новой не настроил

  7. SkoLt:

    auto_prepend_file/auto_append_file в php.ini, не?

  8. SbVelo:

    Нет, пусто. Я тоже первым делом подумал на вирус.

  9. WebDev:

    говно, которое при добавлении в систему делает из неё говно

  10. SbVelo:

    Stephan-V: Видимо те, кто советовал это поставить были нехорошими людьми.

  11. VonYes:

    Может, я не совсем в тему, но я с подобными штуками сталкивался.
    Было: файл в ANSI или какой-то другой хрени, пересохраняю в UTF. Появляется дрись.
    Стало: открываю в древнем HomeSite5, вижу дрись, стираю, сохраняю. Профит.

    То есть проблема с кодировками. Способ, конечно, деревенский, с удовольствием послушаю советы профессионалов.

  12. SbVelo:

    Бывает, что редакторы добавляют в файлы мусор, но это не тот случай. Контент не менялся. Произошло только обновление апача.

  13. SbVelo:

    А если я сделаю
    $ sudo apt-get remove apache2

    и затем заново его установлю, ничего ведь не изменится? Будет та же самая глючная последняя версия?
    Ээх, а я то думал, что обновления ставить безопасно и даже полезно.

  14. Xxxno:

    apt-get update && apt-get install apache2

  15. SbVelo:

    Это вместо того, что я написал или после?
    И это две последовательные команды же?

    Вы уж извините, я не настоящий сисадмин, настоящий нас бросил.

  16. Xxxno:

    apt-get update — выкачиваешь инфу о новых версиях пакетов, apt-get install apache2 — переустанавливаешь свой апач.
    но я бы на всякий случай конфиги от него сохранил в отдельном месте.

  17. WebDev:

    можно всё исправить. посмотри, какие модули грузятся в php
    cat /etc/php5/conf.d/*

  18. HneZZ:

    Stephan-V: лучше все таки посмотреть через phpinfo какие конфиги используются

  19. SbVelo:

    apt–get update
    apt–get install apache2

    Выдало, что обновлять нечего все и так норм. В результате все, как прежде.

  20. SbVelo:

    Да, правильно, все так и делал

  21. SbVelo:

    Stephan-V: Модули я знаю какие. Причем последним обновлялся phpfilter, судя по всему в нем и проблема.

  22. Xxxno:

    ну копай модули.

  23. Vsaenko:

    Как-то вы бессистемно баг ищите. Переустановка апача сродни магии и поиску черной кошки в темной комнате.

    Сначала надо попробовать сочинить минималистичный пример, на котором это восспоизводится. Если срабатывает на тривиальном hello world вида, надо смотреть дальше:
    — нормально ли работает из консоли: # php hello_world.php
    — какие хедеры вываливаются: curl -v http://example.com/hello_world.php

  24. Vsaenko:

    парсер лох, вырезал hello_world — https://gist.github.com/1863163

  25. SbVelo:

    Из консоли работает нормально.

    Curl выдает (и что из этого можно извлечь?) :

    GET /test.php HTTP/1.1
    Accept: */*

    HTTP/1.1 200 OK
    Server: Apache
    Accept-Ranges: bytes
    X-Powered-By: PHP/5.3.3-1ubuntu9.10
    Transfer-Encoding: chunked
    Content-Type: text/html; charset=UTF-8
    Content-Language: ru

  26. SbVelo:

    Странно, скачал файл test.php при помощи wget прямо на сервере — никакого мусора нет. Как такое может быть?

  27. Vsaenko:

    Transfer–Encoding: chunked
    Вот смущает он меня, чесслово

  28. SbVelo:

    И что теперь, всё пропало?

  29. SbVelo:

    вставил в конфиг апачу принудительный переход на HTTP 1.0:
    SetEnv force-no-vary
    SetEnv downgrade-1.0

    Теперь не выдает Transfer–Encoding: chunked, но результат тот же!

    Кстати, заметил, что с самого сервера запросы не возвращают мусор. Как так может быть? Может у хостера быть еще какое-то звено между сервером и внешним интернетом?

  30. SkoLt:

    ситуация повторяется у других людей или в других браузерах?
    может, ты гризманки какой-то поставил и он уже на стороне клиента мусор какой-то дописывает?

  31. SbVelo:

    Да, повторяется и у других тоже.

  32. SbVelo:

    В общем, сделал apt-get remove libapache2-mod-php5filter, убрал вообще этот модуль.
    В процессе деинсталляции система мне выдала, что вместо этого пакета будет использоваться прежний:
    Selecting previously deselected package libapache2-mod-php5

    Теперь все работает правильно. А разобраться в чем было дело мне не хватает ни знаний ни времени.

    Всем спасибо за подсказки.

Добавить комментарий