Задать вопрос
  • Как выявить символы не поддерживаемые кодировкой?

    @Vitsliputsli

    конвертнуть строку в koi8r и сравнить посимвольно

    Не нужно сравнивать, просто на фронте разрешите только те символы, которые нормально конвертируются.
    Либо как предложил Adamos, храните в base64, или в json с преобразованием utf в коды.
  • Переподключение PHP к MySQL как правильно организовать?

    @Vitsliputsli
    Владимир Егудин,

    Применительно к данной ситуации - отключение не хорошая практика, так как подключение очень дорогостоящая операция. Как следствие в какой момент отключаться и подключаться - не понятно.

    Подключение не бесплатное, но далеко не дорогостоющее, тем более для mysql. И я не предлагаю для каждого запроса делать коннект, а реконнект по эксепшену это ведь тоже коннект.
    Отключаться нужно по неактивности, как выберете, хоть 10 минут, хоть 1 час. В вашей схеме, при асинхронности, это не должно быть проблемой.
    Я не настаиваю, что только так нужно, но на мой взгляд вместо "словить" ошибку и среагировать лучше недопустить ошибку.
  • Как отправить HTTP на локальный сервер?

    @Vitsliputsli
    Lynn «Кофеман»,
    зачем писать две строчки если их можно не писать?

    Действия должны отображаться в коде, все что в нем не отображается - "магия". А это плохо, любая магия затрудняет чтение кода, просто пхпшники привыкли что искать нужно в $_POST и им это кажется само собой разумеющимся. Но это "странная магия", вероятно со времен Personal Home Page.
    Вообще, наличие такого парсинга это прекрасно, проблема что управлять им нельзя, и он сам вызывается в определенных условиях.

    GET и POST покрывают 99% запросов в обычном сайте (если вы не пишите REST API).

    Да, даже не обычные сайты в 80% случаев обходятся только get и post, только вот шлют в post json, ну иногда xml. Потому как rest это основной тренд, путь и не restful.

    И ещё один плюс x-www-form-urlencoded, его можно отправить без всякого JS

    Малозначимый плюс, пойди найди веб-ресурс без js.
  • Как отправить HTTP на локальный сервер?

    @Vitsliputsli
    Lynn «Кофеман»,
    отправлять стандартный x-www-form-urlencoded, который PHP автоматически разберёт и положит в $_POST, а не вычитывать из php://input и парсить вручную json.

    А в чем кривизна? Там две строчки, причем очень логичные, читаем вход и парсим его. А вот то, что только для x-www-form-urlencoded и только для post-запросов данные парсятся внутри php и кладутся в некий глобальный массив выглядит как тяжелое наследство языка. Да и json всяко лучше, как более человекочитаемый и более лаконичный без этих километровых разделителей.
  • Как отладить обновление строки, залоченой SELECT FOR UPDATE в MySQL8?

    @Vitsliputsli
    Ипатьев, может не совсем понятно написал. Я про то, что это не механизм тотального контроля, поэтому не зная что делает каждая из сторон для избежания гонки очень сложно с гонкой бороться.
    Непонятно откуда уверенность что сторонняя транзакция не выполнилась раньше, или может позже, но ничего не изменив, или может она не ждет блокировку и роллбечится.
  • Как отладить обновление строки, залоченой SELECT FOR UPDATE в MySQL8?

    @Vitsliputsli

    сторонний сервис (у меня нет к нему доступа, я не знаю как он работает)

    select for update это попытка избежать гонки в вашем приложении, а не система прав. Она никому не запрещает запись, т.е. у "стороннего сервиса" нет такого запрета. Если вы не контролируете запись в БД, select for update вам ничем не поможет.
  • Как отправить HTTP на локальный сервер?

    @Vitsliputsli
    Lynn «Кофеман»,
    хотя читать JSON в PHP несколько криво и лучше бы этого избегать

    Что именно криво и как этого избегать?
  • В чем причина ошибки «unknown filesystem» команды grub2-install?

    @Vitsliputsli
    Antowa Kartowa, grub куда устанавливаете, в MBR или в раздел?
    Первый — bootable

    Если речь про метку на разделе, то скорее всего ставите в раздел, а здесь могут быть проблемы, в начале раздела не так много места и grub не сможет там разместить все необходимые модули для загрузки. А если используете fat32 и lvm они необходимы.
  • Стабилен ли Manjaro?

    @Vitsliputsli
    Дмитрий, в том то и дело, что manjaro ставят те, кто не хочет настраивать сам, поэтому возможно отсюда и косяки, т.к. процент тех, кто не понимает что делает выше.
  • Как передать переменную?

    @Vitsliputsli
    alexalexes, именно так, если СУБД поддерживает, то лучше использовать.
  • Как передать переменную?

    @Vitsliputsli
    alexalexes, AUser0,
    Я немного слукавил, не со всех кавычек можно совершить побег.

    Не факт, кодировок много, в UTF8 полно различных вариантов кавычек и проверять как они все работают - так себе затея. Вспомните дыру в PDO в китайской кодировке. Поэтому гарантировать на 100% отсутствие инъекции может только prepared statements, причем натуральные, а не эмуляция.
    А вот с чиловым параметром проще:
    "SELECT * FROM `news_cards` WHERE id  = " . (int)$id

    здесь уже никак не получится провести инъекцию.
  • Какое преимущество для текущей конфигурации обеспечивает настройка сетей VLAN?

    @Vitsliputsli
    Какое преимущество

    А какая задача?

    Можно же взять S1 и подключить к нему PC1, PC4 и т.д.

    Если задача изолировать по-парно машины и физически возможно переподключить - то можно, и на коммутаторах доступ в другие подсети закрыт (если это разные подсети, конечно, без маски непонятно).
    Если физически невозможно, то можно это сделать с помощью VLAN.
    Также вы можете вынести управление коммутаторами в отдельный VLAN для пущей безопасности.
  • Как нынче делают WSS?

    @Vitsliputsli
    Антон Антон, а что там не предназначено? И почему на ноде лучше?
  • Как писать запросы к API на стадии разработки, если backend еще нигде не хостится?

    @Vitsliputsli

    Как лучше организовать процесс интеграции фронтенда с бэкендом, если бэкенд пока не развернут?

    Мокирование
  • Как быть если две библиотеки начинают зависят друг от друга?

    @Vitsliputsli
    inilim2,
    ну если это единственный выход, то грустно(


    вам предлагают чтобы core библиотека имела зависимость от "строковой" и "массивной" библиотек одновременно. Далее в проекте подключается только core, а строки и массивы подтягиваются сами.

    сделайте наоборот, выделите в Array Lib и String Lib общую часть, назовите ее Core Lib.
    Т.е. в ваших проектах по прежнему подключается Array Lib и/или String Lib. А с зависимостями прилетает Core Lib, которую используют и 1ая и 2ая библиотека.
  • Почему скрипт выполняется не до конца?

    @Vitsliputsli
    tgarl, вряд ли, даже если это fpm, здесь пишем в файл, а не в стандартный вывод, поэтому неважно когда nginx устанет ждать. ignore_user_abort(true) опять же ни на что не повлияет, т.к. ничего не отправляем в стандартный вывод.
    max_execution_time или какаято иная причина преждевременного прерывания скрипта должна быть отражена в логе.
    Нужно больше информации, и больше вариантов запуска вышеуказанного скрипта. Сомневаюсь, что в логах ничего нет. У нас аш 3 приложения: интерпретатор выполняющий скрипт, мастер процесс fpm, nginx. И у каждого свои логи, и каждый както должен реагировать.
  • Почему скрипт выполняется не до конца?

    @Vitsliputsli
    crack_user, прям такой скрипт? и все, больше в нем ничего нет?
    Это php-fpm или php-cli? Запустите и в том, и в другом, если есть другая версия php попробуйте и в ней тоже.
    Что будет если убрать sleep? Если поменять его значение?
    Добавьте вывод на экран инфо для каждого шага.

    Проблему наблюдаете только на сервере где запускаете, локально ее нет? Если да, то с этим скриптом уже можно задать вопрос владельцам сервера, что за хрень творится. Вполне возможно, что какието вредители на сервере жестко убивают скрипты.
  • Как организовать умное кеширование MYSQL?

    @Vitsliputsli
    Soniked, тогда действительно странно, у вас только 1 таблица в БД? Если обращаетесь только к 100тыс, то только они и должны лежать в buffer pool, с индексами примерно также. Конечно, если запросы действительно так работают, а не перелопачивают все данные.
    Для начала, посмотрите сколько занимают места на диске все таблицы и индексы, и что пишет стандартный монитор InnoDB.
  • Как организовать умное кеширование MYSQL?

    @Vitsliputsli
    mayton2019, специализированное решение которое подходит для "крупной торговой сети косметических
    магазинов США" совершенно не обязательно подходит для всех проектов.
    И, как правильно заметил Ипатьев, у автора просто не получается сформулировать реальную задачу, а значит все варианты сейчас это просто гадание.
    Soniked, не надо писать как вы хотите решать неизвестную нам задачу, напишите саму задачу, чего вы хотите добиться. По последнему комментарию, можно предположить, что вам жалко оперативы для MySQL и вы хотите уменьшить ее потребление. Тогда установите размер buffer pull таким, каким хотите его видеть. И только после этого, если окажется, что MySQL его не хватает (т.е. появятся постоянные чтения с диска), вот тогда и нужно будет искать решение.
  • Как задать запрос в базу mysql с массивом данных?

    @Vitsliputsli
    ThunderCat, т.е. вполне себе можно нормализовать структуру в вордпрессе? Фраза про смешно была не в смысле что это невозможно, а в том, что в вордпрессе мало кто так делает? Ок, тогда понял вас, спасибо.