Ответы пользователя по тегу PHP
  • Как найти причину падения производительности приложения (apache, php, mysql)?

    @SergeyNN Автор вопроса
    Промежуточный ответ

    Пока ограничился такими мерами:
    - убрал профайлинг запросов (был включен всё это время оказалось еще со времен разработки);
    - поправил настройки кеша и т.п. для mysql по рекомендациям с хайлоад.ру.;
    - понизил степень сжатия gzip в апаче с 9 до 3 (это, как я думаю, самое влиятельное изменение на тормоза апача сейчас).

    При этом, как оказалось, запросов в секунду производится не 70, а 1000. Как я так раньше насчитал - не могу сказать :).
    Из этой 1000 процентов 90% - повторные попытки поставить в очередь отправку/прием данных со сторонней системы, которая в последнее время сбоит. Но это отдельная нагрузка от фоновых скриптов, она идет не через пожирающий процессор апач.

    Тем не менее, даже сейчас при этой 1000 запросов в секунду с указанными выше изменениями всё работает весьма стабильно. Загрузка проца в среднем 30-50% и только от Апача. Объем потребляемой памяти не вырос.

    Включал лог всех запросов. Время блокировок микроскопическое. Думаю, что всё же основной причиной просадок является этап работы веб-сервера.

    Конечно, нужно пересматривать архитектуру, разносить базы по чтению и записи, но это точно не в это лето.

    Обязательно отпишусь по достижению каких-либо принципиальных изменений.

    Спасибо всем за полезные советы!
    Ответ написан
    Комментировать
  • Стоит ли пользоваться супер глобальными переменными?

    @SergeyNN
    Да. Это такой же инструмент языка, как и все остальные.
    И да, это усилит зависимости частей программы друг от друга. Просто используйте такие переменные очевидным образом, в начале блока кода, чтобы не прятать их и при поддержке кода не спотыкаться о них.
    Ответ написан
  • Белый экран вместо сайта Wordpress. Что делать?

    @SergeyNN
    Включить отображение ошибок php, найти логи php.
    Увидеть, что ему не нравиться.
    Ответ написан
    Комментировать
  • Как в простом приложении html + php в конце url убрать .php?

    @SergeyNN
    Схема с описанием: www.phpinfo.su/articles/practice/chpu_na_php.html
    Ответ написан
    Комментировать
  • Как передать данные (типа: name="xxxx...") из формы в обработчик формы, если имена для полей формы генерируются автоматически?

    @SergeyNN
    Можно имена заранее ввести в массив, то есть так: name = "fixedname[%rndname%]".
    Тогда при разборе get или post жить станет чуть проще.
    На php, например, это всё прилетит в массив $_post[fixedname].
    Далее через foreach ($_post[fixedname] as $name => $value){}

    А если вам всё же интересны конкретные поля в форме, то припишите полям нужные префиксы и разбирайте из потом при переборе foreach.

    Иван вам рекомендовал использовать сессионные возможности для записи, какому случайному имени поля соответствует что - присоединяюсь, простое и действенное решение.

    Выбирайте.

    А вообще, видимо, вы пытаетесь пресечь автоматическую обработку формы? Если так, то это не тот метод. Так вы только снизите комфорт легальным пользователям. Для безопасности необходимы другие методы.
    Ответ написан
  • Как в PHP преобразовать массив?

    @SergeyNN
    /* $array = Array (
    [0] => Array ( [name] => ключ1 [value] => Значение 1 )
    [1] => Array ( [name] => ключ2 [value] => Значение 2 )
    [2] => Array ( [name] => ключ3 [value] => Значение 3 )
    ) */
    foreach($array as $sub){
    $result[$sub['name']] = $sub['value'];
    }
    // извиняйте за стиль, если что
    Ответ написан
    Комментировать
  • Как сделать так чтобы 2 таблицы имели один ID?

    @SergeyNN
    Вам, очевидно, подойдет GUID в качестве id.
    Ответ написан
    Комментировать
  • Как создать массив в цикле?

    @SergeyNN
    Вы об этом?

    while($citysi = mysql_fetch_assoc($cityPs)) {
    $result[] = $citysi;
    }
    Ответ написан
    Комментировать