Задать вопрос
  • Почему INPUT_ENV - null?

    Vamp
    @Vamp
    Чтобы filter_input заработал вместе с INPUT_ENV, нужно в php.ini опцию variables_order добавить букву E

    Советую вместо filter_input брать данные из суперглобального массива $_ENV, а затем фильтровать через filter_var, так как у filter_input есть баг, что не во всех окружениях он работает корректно и всё равно возвращает null. Плюс поведение не соответствует документации - функция возвращает null для несуществующих переменных, хотя согласно документации должна возвращать false.
    Ответ написан
  • Как добавить в форму новую строку?

    @Asokr
    Очевидно, что скопировать все места, где написано address, вставить ниже, и переименовать в model...

    Если так не получается - то уже фриланс
    Ответ написан
    Комментировать
  • Проблема с генерацией svg в пакете laravel-erd?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    вы генерируете файл laravel-erd.svg, а пытаетесь открыть файл o.svg. Логично, что такого не существует.
    Ответ написан
    2 комментария
  • Что такое бэкенд-сервер?

    @Drno
    бэкенд это обощенное название "серверной" части кода
    а бэкенд-сервер - это собственно сервер где эта часть когда запущена
    Ответ написан
    Комментировать
  • Ошибка require?

    @Kypidon4ik
    Фрилансер, Wordpress developer
    Ограничение open_basedir: Это настройка в PHP, которая ограничивает скрипты доступом к файлам только в определённых директориях. Это сделано для повышения безопасности, чтобы скрипты не могли получить доступ к файлам вне разрешённых путей.

    Ошибка говорит о том, что PHP-скрипт пытается подключить файл
    /home/sslion/web/api.dev-to.ru/app/Config/Paths.php
    , который находится вне разрешённых путей (список разрешённых путей приведён в сообщении об ошибке).

    Что делать:

    Изменить настройки open_basedir: Если у вас есть доступ к конфигурации PHP (например, через php.ini или .htaccess), вы можете добавить путь к директории app/Config в разрешённые пути open_basedir.
    Переместить файл: Если есть возможность, вы можете переместить файл Paths.php в одну из разрешённых директорий.
    Ответ написан
  • Как обойти блокировку 80 и 443 порта Ростелеком?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Если прямое указание порта в ссылках ну совсем не катит - ставите на VPS Nginx (это будет ваш reverse proxy), и пишите в нём:
    http {
        proxy_set_header 'X-Real-IP' $remote_addr;
    server {
        listen 80;
        listen 443 ssl;
        server_name my_domain.ru www.my_domain.ru;
        proxy_pass https://my_home.dyn-dns.org:8080/;
    }
    }

    соответственно заменив нужные параметры на актуальные ваши. Ну и в DNS для домена укажите A-запись на VPS-ый белый IP, иначе не взлетит.
    Ответ написан
    Комментировать
  • Ошибка при запуске laravel?

    Fragster
    @Fragster
    помогло? отметь решением!
    netstat -abon -p tcp и смотреть на то, что забило порты.
    а может быть там вообще нет 127.0.0.1 благодаря шаловливым ручкам
    Ответ написан
    Комментировать
  • Как скрыть обёртку компонента bitrix со всем содержимым?

    @koder_1
    Битрикс программист
    Первый способ, нужно внешнюю обёртку тоже поместить в шаблон компонента и ее скрывать в зависимости от условий.

    Второй способ, внешнюю обёртку оставить снаружи компонента, в компоненте создать файл component_epilog.php и в нём в зависимости от условия выводить css стиль, который будет скрывать внешнюю обёртку.
    Ответ написан
    2 комментария
  • Mariadb: при построчной репликации, синхронизируются ли изменения таблиц (ALTER TABLE)?

    Driver86
    @Driver86 Автор вопроса
    Немодератор toster.ru
    Вобщем, проверил сам, на проде своём (я парень рисковый). Да, нормально синхронизирует.
    Mariadb 11
    Репликация Master - Slave
    Настройки по-умолчанию.
    Ответ написан
    Комментировать
  • Как работать с $_ENV?

    Vamp
    @Vamp
    Как помещать данные в $_ENV: просто заполнить массив или через putenv()?

    Данные туда помещаются автоматически при старте скрипта и при условии, что в php.ini опции variables_order присутствует буква E. Вызов putenv не поместит новый элемент в данный массив, но можно поместить самому напрямую: $_ENV['a'] = 'b';

    почему я при filter_input(INPUT_ENV, 'ЛЮБОЙ_КЛЮЧ_ДАЖЕ_ЕСЛИ_ТАКОЙ_ЕСТЬ') получаю ВСЕГДА - null?

    Это известный баг в php, которому скоро стукнет 15 лет. Я бы рекомендовал пользоваться суперглобальными массивами вместо filter_input.
    Ответ написан
    Комментировать
  • Как из строки даты и времени одного часового пояса получить дату в другом часовом поясе с учетом летнего/зимнего времени и прочего?

    Lynn
    @Lynn
    nginx, js, css
    Получилась вот такая функция с использованием Intl.DateTimeFormat.

    function guessDate(str) {
        const f = new Intl.DateTimeFormat('en-US', {
            timeZone: 'Europe/Moscow',
            hour: '2-digit',
            minute: '2-digit',
            hour12: false,
        });
    
        for (const offset of ['+03', '+04', '+02']) {
            const d = new Date(`${str}:00${offset}:00`)
            if (str.endsWith(f.format(d))) {
                // console.log(offset, '\t', str);
                return d;
            }
        }
    }


    Пример результатов (из console.log):
    +03      1980-06-01 12:00
    +03      1980-12-01 12:00
    +04      1981-06-01 12:00
    +03      1981-12-01 12:00
    +03      1991-06-01 12:00
    +02      1991-12-01 12:00
    +04      1992-06-01 12:00
    +03      1992-12-01 12:00
    +04      2011-06-01 12:00
    +04      2011-12-01 12:00
    +04      2014-06-01 12:00
    +03      2014-12-01 12:00
    +03      2015-06-01 12:00
    +03      2015-12-01 12:00
    Ответ написан
    1 комментарий
  • Теги HTML в JS массив как?

    @historydev Куратор тега JavaScript
    Mistkerl, drück den Knopf.
    1 комментарий
  • Как заставить принтер(ы) печатать с удаленного сервера?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    а) Вариант "самописный клауд принт"
    1. подними на сервере апи для получения задач на печать.
    2. на компе с принтерами (в локалке) запусти по крону запуск клиента

    б) Вариант "Интранет"
    прокидывается впн. Ваш сервер печатает на принтеры, как будто он с ними в локальной сети.

    с) Вариант "Сервер печати в локалке"
    Из броузера через js идет обращение к апи программы запущенной на том же ПК / в локалке

    применительно к PHP
    проще написать по варианту А.
    Ответ написан
    2 комментария
  • Как скрыть ключ апи от пользователя?

    @Everything_is_bad
    можно ли это как то реализовать на стороне клиента?
    нет, вопрос задавался кучу раз
    Ответ написан
    Комментировать
  • Зачем скрипт виджета юмани сканирует порты компьютера (22,3389 и другие)?

    @MarvinD Автор вопроса
    Пообсуждали тут с товарищем Adamos (за что ему спасибо еще раз!), похоже, что поводов для испуга нет. Сканирование портов используется для определения, не завирусована ли машина пользователя, не открыты ли здесь "лишние порты", такие как удаленное управление компьютером и др. Вопрос закрыт.
    Ответ написан
    2 комментария
  • Google сейчас не может отправить сообщение на этот номер, в чем может быть проблема?

    @Paket236
    Меня уже 3 раза так блочили за последние несколько месяцев. Примерный алгоритм разблокировки такой:
    * В течение недели по 1 разу в день безрезультатно тыкаешься.
    * Затем гугл сдабривается и:
    ** Если у тебя не был привязан никакой номер, то пробуешь логиниться через Google Play на Android, даже если ранее там не входил - мне помогло. Через браузер, скорей всего, не пустит. Кстати, читал, кому-то помог иностранный номер - на него код пришёл без проблем.
    ** Если у тебя был привязан номер телефона, то может появиться новый способ входа через звонок, но он тоже не поможет, и надо нажимать "У меня нет доступа к номеру телефона". Тогда появится ещё один способ входа - отправка кода на резервную почту. И тогда пустит. А если резервной почты нет, то хз - не проверял :)

    Кстати, настроенная двухфакторная аутентификация через Google Authenticator не спасла меня от очередной временной блокировки (не нравится им, что я привязываю мои виртуальные карты в аккаунт), и теперь я снова выжидаю неделю на этапе ввода номера...
    Ответ написан
    1 комментарий
  • Google сейчас не может отправить сообщение на этот номер, в чем может быть проблема?

    Та же самая ситуация.
    Вводишь почту, вводишь пароль, гугл требует "подтверждение личности" через sms или звонок, а затем выдаёт:
    Сорян, "Google сейчас не может отправить сообщение на этот номер". Телефон, кстати, тоже мтс.
    Доступ к акку удалось получить через их "форму восстановления" - запросил код на резервную почту, спустя 3 дня прошёл по ссылке, установил новый пароль, вошёл в аккаунт. Проблема только в том, что при входе на других устройствах (ПК, телефон, планшет) гугл снова требует "подтверждение личности" через sms или звонок.
    Короче говоря, полная шизофрения.
    Ответ написан
    1 комментарий
  • Почему у кабеля все фазы?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Стандартная трёхфазная система электропитания 380 (400) вольт.
    Между фазами 380 (400) В, между нулём и любой из фаз 220 (230) В.
    Ответ написан
    1 комментарий
  • Почему удаляются фото после выгрузки, уже загруженные ранее, на сайте 1С Битрикс?

    @koder_1
    Битрикс программист
    Из Вашего описания вообще выходит, что после того, как товар заканчивается, то у вас в 1с создается новый товар и новый товар на сайт выгружается?
    Значит, в момент, когда товар кончается, у вас стоит опция удалить товар?
    А надо сделать вместо этой опции - деактивировать товар.
    Тогда в следующий раз, когда товар выгрузится, он выгрузится в тот же товар и активируется, картинка при этом сохранится.

    Если в выгрузке приходит товар без картинки, то картинка в Битриксе удаляется.
    Лечится написанием обработчика на событие изменение товара, где проверяем, если это выгрузка из 1с и картинка пустая, то удаляем поле картинка.
    Ответ написан
    Комментировать