Задать вопрос
Ответы пользователя по тегу PHP
  • Помогите найти причину проблем с apache

    merlin-vrn
    @merlin-vrn
    Это не может быть ротация логов в этот момент? Видно, что апач перезапускался.

    Вообще, я бы ещё посмотрел dmesg (на предмет segfaultов и тому подобного) и общесистемные логи, там, messages, лог cron и так далее. Что вообще в системе происходило.
    Ответ написан
    5 комментариев
  • Прием почты бэкендом приложения (PHP)

    merlin-vrn
    @merlin-vrn
    Решение 1 в случае с Postfix просто и элементарно. Почему вы так боитесь за надёжность доставки в этом случае? Очередь сделает для вас Postfix, а скрипту он будет скармливать письма по одному на stdin: отдал одно письмо, скрипт завершился — запускает следующий процесс и следующее отдаёт ему. У одного из наших клиентов такая схема работает уже несколько лет, только на приёмке скрипт не на PHP а на Python (когда-то был на TCL, но поддерживать это при условии глючности TCLной библиотеки MIME было неудобно). Все письма перенаправляются туда с помощью always_bcc, т.е. скрипт фактически обрабатывает вообще всю почту, порядка сотни адресов.

    Решение 2 — вы добавляете между почтовым сервером и скриптом лишний слой, задачу которого вообще-то решает менеджер очередей самого почтового сервера.

    Решение 3 — работает много где, но с большим числом ящиков неудобно. Завернуть всех в один и прверять его — возможно, но опять же между скриптом и почтовым сервером появляется дополнительный слой. С другой стороны, оно универсально, вы сможете любой сервер подружить с любым скриптом. Этот подход, например, используется внутри OTRS.
    Ответ написан
    2 комментария
  • Apache + mod_proxy_uwsgi + php — не согласуется результат работы при сходных ProxyPass и ProxyPassMatch?

    merlin-vrn
    @merlin-vrn Автор вопроса
    В общем, с помощью грубого костыля в файле apache2/mod_proxy_uwsgi.c вида

    16a17
    > #include <string.h>
    104a106,113
    >     const char *_path_info = apr_table_get(r->subprocess_env, "PATH_INFO");
    > 
    >     if (script_name && _path_info && (script_name[0] != _path_info[0])) {
    >         // APR bug where value in path_info doesn't correspond to what is defined in CGI spec http://tools.ietf.org/html/rfc3875#section-4.1.5
    >         // we'll fix it here by ourselves, scanning to first '/' and erasing everything before it
    >         apr_table_set(r->subprocess_env, "PATH_INFO", strchr(_path_info, '/'));
    >     }
    > 
    


    удалось запустить работу как надо.
    Ответ написан
    Комментировать
  • Поиск пользователей в БД, как эффективнее?

    merlin-vrn
    @merlin-vrn
    Так готовые решения есть. Мы пробовали, работает на базе из как раз нескольких тысяч наименований (hardworm поправит меня, если я ошибаюсь). Использовали мы Ajax Autocomplete for jQuery.

    Что касается запроса к таблице из ~5000 наименований — так то ни для какой базы не работа, при условии, что по соответствующему полю есть индекс.
    Ответ написан
  • Как можно менять цвет от зеленого к красному, имея на входе только число 0-40?

    merlin-vrn
    @merlin-vrn
    Да простая линейная интерполяция каждой из трёх компонент, и делов.
    Ответ написан
    Комментировать
  • PHP - не считывается полный файл. Памяти и времени хватает?

    merlin-vrn
    @merlin-vrn
    Однажды долго бился над проблемой (всё правильно и ничего не работает), а потом проблема оказалась в suhosin patch.

    Не может ли быть в этом дело?
    Ответ написан
    Комментировать