• Как узнать максимальное количество одновременно выполняемых процессов?

    karabanov
    @karabanov
    Системный администратор
    Если используется mpm_worker то в конфиге найти и изменить следующие директивы:
    <IfModule mpm_worker_module>
            StartServers             2
            MinSpareThreads          25
            MaxSpareThreads          75
            ThreadLimit              64
            ThreadsPerChild          25
            MaxRequestWorkers        150
            MaxConnectionsPerChild   0
    </IfModule>

    Если используется mpm_prefork то в конфиге найти и изменить следующие директивы:
    <IfModule mpm_prefork_module>
            StartServers             5
            MinSpareServers          5
            MaxSpareServers          10
            MaxRequestWorkers        150
            MaxConnectionsPerChild   1024
    </IfModule>
    Ответ написан
    Комментировать
  • Как отправить с помощью mailer письмо, с нужной мне почты?

    jamessvetsky
    @jamessvetsky
    Специалист по почтам и рассылкам
    Насколько я вижу, mail1 не проходит авторизацию, скорее всего надо либо в настройках включить портальный пароль (это они так обычный назвали) либо использовать пароли приложений
    6227aa4a31f74817391392.jpeg

    Но вообще очень плохой вариант. С одной стороны яндекс может блочить отправку через свой SMTP, подробнее писал в этой статейке
    https://7fk.ru/nastroyka-smtp/
    С другой стороны отправка через mail1 с полем from mail2 будет всеми почтовиками восприниматься как спуффинг и письма далеко не везде попадут даже в папку спам
    Ответ написан
    2 комментария
  • Как правильно организовать работу серверов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. API
    2. Сервера могут общаться через базу данных
    3. Сервера могут общаться через брокер очередей
    4. Можно подумать насчет общего стораджа - S3, распределенная файловая система, просто сетевой диск замапленный на каждый сервер.

    Вопрос не в том, чтобы "как связать", вопрос зачем вам это надо, как вы себе представляете "связывание" и какая у него цель?
    Ответ написан
    1 комментарий
  • Какой использовать плагин для счетчика кликов / заказов на wordpress?

    san_jorich
    @san_jorich
    Творческий кодер
    Можно написать самостоятельно Примерно строк 10-15 и все заработает.
    1)Регистрируйте настройку "Количество заков"
    2)Подключаете jQuery скрипт который при клике на кнопь ajax-ом командует php увиличить переменную опции на 1
    3) Шоткодом выводите в нужное место шаблона результат
    4) Наслаждаетесь результатом
    Ответ написан
    5 комментариев
  • Как рассчитать "реальное" среднее время трека в наборе?

    usdglander
    @usdglander
    Yipee-ki-yay
    Вам нужно медиана?
    Ответ написан
    Комментировать
  • Как вывести сплошной текст построчно?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    JSON_PRETTY_PRINT
    https://www.php.net/manual/ru/function.json-encode.php

    json_encode($var, JSON_PRETTY_PRINT);
    Ответ написан
    1 комментарий
  • Где лучше хранить проверочный смс код?

    Zhbert
    @Zhbert
    Technical Writer, Linux user
    Ну я даже не знаю. Там же, где и все остальное, в базе данных? Ну или где ты там хранишь всю остальную инфу.
    Ответ написан
    6 комментариев
  • Как принять данные при POST запросе через php://input?

    @zkrvndm
    Софт для автоматизации
    При отправке FormData поток php://input автоматом очищается во время формирования $_POST, такое поведение конечно же можно отключить, но это кастрирует ваш сервер и массив $_POST просто перестанет формироваться при получении данных. Вы бы лучше написали зачем именно вам это надо, а там видно будет, вдруг вы изобретаете велосипед.
    Ответ написан
    Комментировать
  • Можно ли через CURL получить имя файла без скачивания?

    Ответ написан
    Комментировать
  • Как вывести кнопки в одно сообщение?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Зачем в цикле на каждую кнопку отправлять отдельное сообщение? Надо сначала в цикле сформировать клавиатуру, а потом отправить одно сообщение.

    spoiler
    С node.js не умею, вот простейший пример на python для понимания принципа:
    keyboard = types.InlineKeyboardMarkup()
    for b in buttons:
      keyboard.add(types.InlineKeyboardButton(text=b, callback_data=b))
    bot.send_message(message.chat.id, "Кнопачки", reply_markup=keyboard)
    Ответ написан
    Комментировать
  • Как поставить в substr_count конец строки?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    PHP 8+
    str_ends_with()

    PHP < 8

    function endsWith($haystack, $needle) {
        $length = strlen($needle);
        return $length > 0 ? substr($haystack, -$length) === $needle : true;
    }
    Ответ написан
    6 комментариев
  • Как сделать регулярку PHP для удаления определенного текста?

    Stalker_RED
    @Stalker_RED
    Достаточно замены через str_replace
    $newStr = str_replace('https://vk.com/', '', $str);
    Ответ написан
    Комментировать
  • Как переписать данный код для версий PHP ниже 7.4?

    Melkij
    @Melkij
    PostgreSQL DBA
    Если ключи сохранять не требуется, то и вовсе
    $res = array_column($page_data, 'tab');
    Ответ написан
    Комментировать
  • PHP выбрать значение?

    SilenceOfWinter
    @SilenceOfWinter Куратор тега PHP
    та еще зажигалка...
    1. создаешь массив объектов(или массивов - как больше нравится) {"name": "Анастасия", "full": "Анастасия", "diminutive": "Настенька", "sex": "ж"}
    2. создаешь массив из Анатолий,Толя,Толик,Толян,Толенька и т.д где ключи это Анатолий, Толя и т.д. , а значения - ссылки на массив 1.

    $fullName = isset($firstNames[$name]) ? $firstNames[$name]->full : $name;

    ну или тоже самое, но хранишь не в массивах, а в таблицах БД
    Ответ написан
    2 комментария
  • Как учитывается активность в GitHub?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Естественно нет. Гитхаб учитывает коммиты сделанные в гитхаб, а не в какой-то другой репозиторий.

    2. Прежде чем так делать, поинтересуйтесь на работе можно ли указывать внешнюю почту. Возможно политикой компании принято использовать рабочую почту.
    Ответ написан
    Комментировать
  • Как работает сайт изнутри (глубокий технический анализ сайта)?

    toxa82
    @toxa82
    Xhprof вам в помощь.
    Ответ написан
    Комментировать
  • Как вывести строку по id php ?id=1?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос хороший, но здесь мы упираемся в главную беду пхп - ВСЕ учебники в интернете, и особенно видео - показывают как писать адов говнокод из прошлого века.

    1. Получение значения из адресной строки

    Чтобы получить значение переменной, которую передали в строке запроса (это то что после знака вопроса), надо обратиться к переменной $_GET

    То есть в данном случае можно написать $id = $_GET['id']. Имя получаемой переменной ($id) может быть любым и не обязательно совпадать с переданным значением. А вот в индекс массива $_GET разумеется надо писать именно то имя, которое в адресной строке. То есть если site.com/?id=1 то в $_GET['id'] будет значение 1.

    2. Валидация данных

    Далее очень желательно проверить, что мы в переменной получили то что хотели, а так же что мы вообще хоть что-то получили.

    Сначала надо проверить наличие в массиве $_GET нужного ключа. В данном случае это можно сделать с помощью оператора isset() (хотя вообще она для проверки наличия ключей в массивах не рекомендуется)
    Если для показа информации используем отдельную, специальную страницу, которая только занимается показом данных по айди, то после проверки на существование надо выдать ошибку.

    Затем, поскольку id может быть только целым числом больше нуля, то лучше проверить и это тоже и тоже выдать ошибку.

    3. Соединение с БД.

    в "config.php" должно быть написано не то что там сейчас а вот это (со своими параметрами подключения разумеется)
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $link = mysqli_connect($host, $user, $pass, $db_name);
    $link->set_charset("utf8mb4");


    4. SQL

    Запрос, который нам нужен, выглядит так:
    SELECT * FROM `product` WHERE id=1

    5. Выполнение запроса в РНР

    Но разумеется вместо 1 надо подставить значение переменной.
    Это самое сложное. Но надо один раз выучить и потом везде применять

    Важно, чтобы данные в БД всегда попадали отдельно от самого запроса. Это непреложное правило, которое надо соблюдать всегда.
    Для этого надо
    1. Заменить все переменные в запросе на специальные маркеры, которые называются плейсхолдеры или параметры, а по сути - просто знаки вопроса
    2. Подготовить запрос к исполнению с помощью функции prepare(). Эта функция принимает строку запроса и возвращает экземпляр специального класса stmt, с которым в дальнейшем и производятся все манипуляции
    3. Привязать переменные к запросу.
    4. Выполнить подготовленный ранее запрос с помощью с помощью execute()
    5. Получить результат запроса через get_result()
    6. и дальше конкретную строку из БД с помощью уже знакомой fetch_assoc


    В коде это будет так
    $sql = "SELECT * FROM `product` WHERE id=?";
    $stmt = $link->prepare($sql);
    $stmt->bind_param("s", $id);
    $stmt->execute();
    $result = $stmt->get_result();
    $row = $result->fetch_assoc();


    bind_param() принимает в качестве параметров все переменные, которые должны попасть в запрос, в том же самом порядке, в котором стоят плейсхолдеры в запросе. Но кроме того, сначала в этой функции должны быть указаны типы для всех переменных, в виде строки, где тип переменной обозначается одной буквой. То есть букв в этой строке должно быть ровно столько, сколько дальше будет переменных. К счастью, можно особо не париться с типами и для всех переменных указывать тип "s".

    6. Вывод данных.

    Важно понимать, что в момент вывода данных никакой работы с БД уже быть не должно!
    Должны быть только переменные РНР с уже полученными данными.
    Ответ написан
    1 комментарий
  • Можно ли в форме ссылаться не на php файл, а на функцию из php файла?

    @alekcena
    Нелинейный наставник
    Самое простое.
    При запросе на файл передавайте GET или POST параметр с типом что вы хотите сделать.
    Далее в файле делаете условие по этому параметру.
    Ответ написан
    Комментировать
  • Ошибка php jQuery.ajax POST 500?

    smilingcheater
    @smilingcheater
    Лог ошибок сервера вам религия не позволяет посмотреть?

    после $webhook_url = 'xxx' поставьте ;

    и в строке $queryUrl = webhook_url . $method ; забыли доллар у webhook_url. Так же эту переменную надо прокинуть в эту функцию - она объявлена вне её и внутри недоступна.
    Ответ написан
    Комментировать