Задать вопрос
  • Ошибка 500 при попытке установки PunBB, как исправить?

    karabanov
    @karabanov
    Системный администратор
    500 (пятьсот ровно) это в 99% необработанное исключение. Найди в логе PHP строчку содержащую слово Fatal это и будет твоя причина.
    Ответ написан
    6 комментариев
  • Есть ли какая то определенная причина почему стоит использовать Windows Server?

    @expressrus
    На мой взгляд для .NET на Windows Server удобнее все: разработка, поддержка, администрирование. Но я использую это только для корпоративных продуктов с высокой степенью надежности.

    Для своих проектов Linux выгоднее. Здесь я имею ввиду не только отсутствие лицензии (за нее я и так никогда не платил), а требования к серверу.
    Допустим я пишу сайтик на .NET и SQL server – тогда для комфортной работы я должен оплачивать сервер минимум 8Гб оперативки и 4 ядра ЦП. Но если я напишу это же самое в связке .NET и Mysql 8.0 – это будет работать также хорошо на линуксе с 2 ядрами и 2ГБ оперативки.
    Более того на заре выхода .NET 5 сами мелкософт признавались что у IIS есть ряд ограничений и рекомендовали сайтики с высокой нагрузкой по запросам размещать на линухе.

    В вашем конкретном случае я бы остался на винде, а новые проекты на .NET уже бы писал для линукса. Причем предупреждаю последняя удобная винда это Windows Server 2022. Если вы поставите версию старее то лишитесь как минимум TLS 1.3, а если поставите новее (2025) тогда получите неудобный UI для девочек как в эпплах.
    Ответ написан
    Комментировать
  • Есть ли какая то определенная причина почему стоит использовать Windows Server?

    1. В dotnet на Linux нет ничего костыльного, так ещё он дешевле, производительней, и админить легче.
    И работает всё гораздо предсказуемее и без сюрпризов (опыт разработчика)
    2. Да, Windows Server всё ещё используется.
    Представь, что ты огромная международная корпорация с десятками тысяч сотрудников и у тебя на Windows Server крутится куча приложений, которые запускаются только на нём, AD, Exchange, и ещё процессы тесто завязаны на Винду.
    Будешь ли ты резко отказываться от микрософта и переезжать на Линукс?
    Вопрос риторический


    Почему я задал этот вопрос, я как системный администратор, столкнулся с клиентом, с которым я сцепился из за того, что его разработчики и бывший сотрудник сисадмин решил установить .NET + C# + Mono + Nginx и все это на линукс.

    Естественно меня это взбесило, и я просто отказался все это поддерживать, потому что извините, но .NET проще поддерживать на Windows Server

    Очень странно, что они решили использовать mono вместо dotnet (core), но если ты по каким-то своим внутренним предрассудкам отказываешься изучать что-то новое - вопросы в первую очередь к тебе, как к специалисту.

    Возможно, твои заказчики хотели перенести какое-то Легаси на Linux+mono без переписывания на актуальную версию dotnet.
    https://learn.microsoft.com/ru-ru/dotnet/fundament...
    Уверен, что там действительно mono?
    Какие конкретно у тебя сложности с настройкой произошли?
    Или ты в основном на Windows специализируешься?
    Ответ написан
  • Есть ли какая то определенная причина почему стоит использовать Windows Server?

    VoidVolker
    @VoidVolker
    Dark side eye. А у нас печеньки! А у вас?
    Только для тех случаев, когда зависимости ПО работают только под виндой. Во всех остальных случаях удобнее и практичнее линукс. Сегодня dotNet спокойно ставится под линуксом из пакетов и отлично там работает как и любое другое ПО.

    Если Windows Server настолько проиграл Linux в серверных войнах, то почему Microsoft не закрывает этот отдел? Значит сервера на Windows, используются.

    Потому что деньги и экосистема. В рамках своей экосистемы продавать больше услуг клиентам выгоднее и позволяет заработать денег. В этом и смысл экосистем.

    Почему я задал этот вопрос, я как системный администратор, столкнулся с клиентом, с которым я сцепился из за того, что его разработчики и бывший сотрудник сисадмин решил установить .NET + C# + Mono + Nginx и все это на линукс.
    Естественно меня это взбесило, и я просто отказался все это поддерживать, потому что извините, но .NET проще поддерживать на Windows Server

    Единственная адекватная причина отказа от сопровождения серверов на линуксе - отсутствие знаний и умений по их сопровождению либо недостаточная квалификация в данной области. "Взбесило" - вот ту вы были не правы и вот это ваше "проще" просто свидетельствует о вашей недостаточной квалификации в данной области. Кроме того, в рамках диалога с клиентом можно было просто спросить о целях, причинах и задачах именно такого решения.
    Ответ написан
    9 комментариев
  • Как запустить код?

    Ge1i0N
    @Ge1i0N
    Можете создать php файл, если header нужный прокинете, а можете через php-консоль выполнить, лежит тут /bitrix/admin/php_command_line.php?lang=ru
    Ответ написан
    1 комментарий
  • Как из строки с путём получить элемент массива?

    delphinpro
    @delphinpro Куратор тега PHP
    frontend developer
    Прежде чем изобретать велосипед, стоит посмотреть уже существующие решения.
    У этого метода даже название своё есть - Array Dot Notation. Есть php-библиотека с таким же названием. И она не одна

    https://yandex.ru/search/?text=dot+notation+array
    Ответ написан
    1 комментарий
  • Полная разница sudo su, sudo -i, sudo -s?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    - Разница 1: Почти, sudo -i также меняет HOME на /root, и читает логин скрипты root юзера.
    - Разница 2: Верно, действия с sudo -i и sudo -s логгируются в журналах юзера, а sudo su - нет.
    - Разница 3: Верно, sudo позволяет настраивать ограничения для команд через sudo -i и sudo -s, но не для sudo su (так как sudo su переключает юзера в root).
    Еще не понял разницу между
    sudo su
    sudo su -

    - sudo su - переключает юзера на root, но окружение при этом не является полным root окружением.
    - sudo su - - эмулирует полный вход юзера root (login shell). Будут прочитаны все файлы конфигурации, которые обычно читаются при входе root (profile, .bash_profile, .bashrc и что-то там еще). Насколько я понимаю, это то, что нужно Вам при работе от имени юзера root.
    И где можно смотреть логи пользаков при использовании sudo -i, sudo -s?

    Viewing and monitoring log files, можно еще заюзать journalctl.
    Ответ написан
    7 комментариев
  • С какого раздела можно начинать читать Algorithms in Java от Седжвика если уже знаешь джаву?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Кроилово ведёт к попадалову. Читайте полностью.
    Ответ написан
    Комментировать
  • Можно ли добавить условие при регистрации аккаунта на сайте?

    Lord_of_Rings
    @Lord_of_Rings
    Дунадан - северный странник. Злой, но очень добрый
    Это вообще реально сделать?
    Реально
    Ответ написан
    8 комментариев
  • Как сделать условие внутри echo?

    Mike_Ro
    @Mike_Ro Куратор тега WordPress
    Python, JS, WordPress, SEO, Bots, Adversting
    Так?
    $categories = get_categories([
        'taxonomy' => 'video',
        'orderby' => 'ID',
        'order' => 'DESC',
        'number' => '8',
    ]);
    
    foreach ($categories as $c) {
        $vQuality = get_field('video_quality', 'category_' . $c->term_id);
    
        if ($vQuality === '4K') {
            echo '<img src="/image2.jpg">';
        }
        
        elseif ($vQuality === '1080') {
            echo '<img src="/image3.jpg">';
        }
        
        else {
            echo '<img src="/image1.jpg">';
        }
    
        echo '<p>' . esc_html($c->name) . '</p>';
    }
    Ответ написан
    5 комментариев
  • Часть кода из паттерна - компоновщик. Имеем - абстрактный класс, и класс - наследник. Собственно, как такое происходит?

    https://www.php.net/manual/ru/language.oop5.visibi...

    Видимость из других объектов:
    Объектам одного и того же типа доступны защищённые и закрытые члены класса друг друга, даже если это разные экземпляры. Это связано с тем, что внутри таких объектов уже известны конкретные детали реализации.
    Ответ написан
    7 комментариев
  • Как перетаскивать элемент мышкой, но чтобы следовал за мышкой именно той областью на которой был клик?

    @ksnk
    У элемента есть крайне удобный метод getBoundingClientRect, который почти все проблемы позиционирования решает в меру элегантно.
    var disp=[0,0]; // смещение
            var listener = function (e) {
    
                full_info_div.style.left = (disp[0]+e.clientX) + "px";
                full_info_div.style.top = (disp[1]+e.clientY) + "px";
            };
    
            full_info_div.addEventListener('mousedown', e => {
              let b = full_info_div.getBoundingClientRect();
              disp= [b.left-e.clientX,b.top-e.clientY];
              document.addEventListener('mousemove', listener);
               document.querySelector("html").setAttribute("style", "user-select: none");
    
            });
    ...
    Ответ написан
    Комментировать
  • Взлом пароля черз БД, хэш-пароля?

    CityCat4
    @CityCat4
    Жил да был черный кот за углом...
    Создаете юзера с известным паролем. Потом полученный хэш тупо вписываете нужному юзеру. Были времена, пароль рута некоего сервера mysql так ломал...
    Ответ написан
    Комментировать
  • Взлом пароля черз БД, хэш-пароля?

    SamDark
    @SamDark
    Yii2 core team
    1. password_hash — это bcrypt формат. Если есть доступ к базе, то делаете нового юзера с паролем, забираете его хеш и просто перетираете им password_hash в базе у нужного юзера.
    2. auth_key — это не релевантно.
    3. confirmation_token — это не релевантно.
    Ответ написан
    4 комментария
  • Как заставить cron работать внутри docker контейнера?

    smilingcheater
    @smilingcheater
    Вы некорректно задаёте команду для крона. Надо задавать полные пути для всех файлов
    * * * * * /usr/bin/php /var/www/laravel/artisan schedule:run


    В dev/null также пусто.

    Спасибо, посмеялся. Вы понимаете что такое /dev/null?
    Если вам нужны системные логи запуска команды - так и перенаправьте их в конкретный файл...
    Ответ написан
    8 комментариев
  • Объясните суть Systemctl в ubuntu?

    @pfg21
    ex-турист
    в консольной команде первое слово - это имя програмки, которую запускаешь.
    остальные слова передаются програме в качестве параметров.

    соответственно systemctl status ufw запускает systemctl и передает ей параметры status ufw - получаем статус работы сервиса ufw.service от менеджера системы.
    а ufw status запускает ufw и передает ей параметр status - получаем "внутренний" статус работы непосредственно от ufw
    Ответ написан
    2 комментария
  • Как заменить текст в файле .csv с помощью PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Угу. Сначала понаставим @, чтобы скрыть все ошибки, а потом будем голову ломать, почему ничего не работает и ошибок не показывает.

    А вообще, это делается в одну строку.
    file_put_contents($outfilename, str_replace('Российский рубль', 'RUB', file_get_contents($infilename)));
    Ответ написан
    Комментировать
  • Кто может разъяснить магию ssh agent forwarding?

    Lynn
    @Lynn
    nginx, js, css
    Так это буквально в документации написано


    -i identity_file
    [...] You can also specify a public key file to use the corresponding private key that is loaded in ssh-agent(1) when the private key file is not present locally.


    https://man7.org/linux/man-pages/man1/ssh.1.html
    Ответ написан
    2 комментария