Задать вопрос
  • Как как распарсить .rc файл командой sed?

    как-то так ?

    echo -E "const std::map<unsigned int, std::string> nameMap = {"; cat /tmp/111.txt | egrep IDS | sed -e 's/\(IDS_STRING[0-9]\{1,\}\)[ ]\{1,\}\(.*\)/\{\1\, \2\},/gp'; echo "};"



    Вводный файл
    root@Bonus:/tmp# cat 111.txt
    STRINGTABLE
    BEGIN
        IDS_STRING101           "Example string 1"
        IDS_STRING102           "_Example string 3.14"
    END
    
    STRINGTABLE
    BEGIN
        IDS_STRING103           "Example string 3"
        IDS_STRING104           "_Example string 4"
    END


    Вывод
    root@Bonus:/tmp# echo -E "const std::map<unsigned int, std::string> nameMap = {"; cat /tmp/111.txt | egrep IDS | sed -e 's/\(IDS_STRING[0-9]\{1,\}\)[ ]\{1,\}\(.*\)/\{\1\, \2\},/gp'; echo
    const std::map<unsigned int, std::string> nameMap = {
        {IDS_STRING101, "Example string 1"},
        {IDS_STRING101, "Example string 1"},
        {IDS_STRING102, "_Example string 3.14"},
        {IDS_STRING102, "_Example string 3.14"},
        {IDS_STRING103, "Example string 3"},
        {IDS_STRING103, "Example string 3"},
        {IDS_STRING104, "_Example string 4"},
        {IDS_STRING104, "_Example string 4"},
    };
    root@Bonus:/tmp#


    Собственно по вашему тз.
    теперь что касается строк, вы не привели примера этих строк, но их можно выхватить несколькими способами, начиная с банальных cut и awk с соответствующими разделителями, ну и самим сед тоже можно.
    За разделитель можно взять первое "
    Из пояснений могу добавить что \1 это $1 в синтаксисе седа ;) ну и двойка соответственно $2
    Ответ написан
    Комментировать
  • Как перенаправить ответ Curl'a клиенту?

    Ниче не понял но вот вам про курл пхп и полные заголовки.
    https://gist.github.com/lemmycaution/3818359
    https://github.com/zounar/php-proxy
    Удобная вещь для подобных извращений.
    Ответ написан
    Комментировать
  • Как разрешить доступ к сайту через .htacces?

    shambler81
    @shambler81 Куратор тега htaccess
    DirectoryIndex index.php​ index.html
    видимо так
    Ответ написан
    Комментировать
  • Не меняется значение upload_max_filesize apache?

    Этих php.ini может быть как собак нерезанных. У меня на сервере их только стандартных 48 штук.
    не считая форков для отдельных сайтов.
    Каждый php.ini для представления пхп умноженные на версию самого пхп.
    Про что я это, про то что не факт что вы применили
    Обратите так же внимания что нужно менять не 1 а 3 значения должны быть не меньше нужного вам размера
    upload_max_filesize 100M
    post_max_size 100M
    memory_limit 100M

    Какой конкретно php.ini используется у вас на сайте " в консоле может быть другой", и у каждого сайта тоже.
    phpinfo на самом сайте и там будет видно какие php.ini файлы у него используются.
    Впишите в него и рестартуйте апачь
    если nginx то не забудьте рестартовать fpm демона.
    Ответ написан
    1 комментарий
  • Как настроить ЧПУ подразделов и торговых предложений от корня в Битрикс?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    вы документацию битрикс читали?
    https://сайт/каталог/товар
    Минимально возможный урл.
    Все остальное это дикие костыли.
    Очень вам рекомендую перед столь сомнительным действием взять с заказчика бумажку что это *** костыль который потом будет постоянно преподавать сюрпризы.
    Ответ написан
  • Не получается составить скрипт?

    1. убираем все лишнее в user.txt
    cat users.txt | egrep ^.[^#]+
    и сохраняем это в переменную это уже пример скрипта
    #!/bin/sh
    list=$(cat users.txt | egrep ^.[^#]+ )


    2. крутим цикл по нему
    #!/bin/sh
    list=$(cat users.txt | egrep ^.[^#]+ )
    
    for element in $list
    do 
        echo "$element" 
    
    done


    3. в цикле grep ищет в файле pass.txt соответствующую строку текущего юзера в цикле, и отображаем только его пароль grep $element pass.txt | cut -f 2 -d ':'
    В результате у нас получится что-то такое:
    #!/bin/sh
    list=$(cat users.txt | egrep ^.[^#]+ )
    
    for element in $list
    do 
        echo "$element"                                                       
        grep $element  pass.txt | cut -f 2 -d ':'                       
        pass=$(grep $element  pass.txt | cut -f 2 -d ':')       
    done


    Собственно у вас уже есть все переменные и текущий юзер $elemen и его пароль $pass.
    Все что вам остается теперь это впихнуть куда нужно, как это сделать я думаю вы уже разберетесь.
    Вам может понадобиться для отладки сервис онлайн генератор sed
    вы не привели пример созданного /etc/passwd соответственно че там и как у вас хз, нужно смотреть
    Опять же из тз, по умолчанию создавая юзера можно дать ему и домашнюю директорию и bash.
    НО если по тз именно через сед то да нужен файл /etc/passwd с созданым юзером user_1
    опять же есть тонкости к примеру с тем же паролем в котором могут быть спец символы тогда прийдется костылитьч через eval +echo
    Ответ написан
  • Какой самый быстрый дистрибутив Linux для программирования?

    shambler81
    @shambler81 Куратор тега Linux
    Брат у меня для тебя плохая новость.
    Программирование, а я так понимаю вы собираетесь это делать за деньги.
    Компьютер - это в вашем бизнесе актив, инструмент труда. И без вложений в него у вас будет банально неконкурентная эффективность.
    Короче смысл такой.
    Купи нормальный комп, а эту помойку выкинь на помойку.
    И это при всем уважение и любви к lunux
    У вас в корне не правильный подход к свой работе. Дистрибутив линукс тут вам не поможет.
    Мало того вам прийдется купить нормальные 2-3 монитора( это тоже повышает вашу эффективность) рекомендую сразу 32 дюйма.
    А вот герцовка вам не нужна вобще так тчо они не должны быть игровые.
    К примеру тот же phpstorm при подгрузке ядра проекта с легкостью хавает 16 гб.
    А диск нужно ssd естественно, поскольку это тоже повышает эффективность вашей работы, притом естественно рекоменую сразу Nvme диски, соответственно совместимую мать притом на PCI-16 контроллере для M2
    А это явно другой комп.
    Вы просто будете заниматься жданием вместо работы и ради чего ?
    Вы будете страдать ради того чтоб сэкономить 30 часов вашей работы, вы уверены что вы их сэкономите ожидая любых действий ?
    Ответ написан
  • Как сделать проксирование (HTML, htaccess)?

    shambler81
    @shambler81 Куратор тега htaccess
    1. вы делаете это просто на пхп там скрипт в 10 строчек.
    2. Используете mod_proxy на apache
    3. Делаете все как нормальные люди, ставите nginx и юзаете его прокси ngx_http_proxy_module

    У Каждого из способов есть свои плюсы и минусы.
    1. позволяет добавлять и убавлять данные в контенте испльзуя пхп и тд и тп.
    К примеру очень удобно когда требуется поставить новый сайт, но чтоб тех ссылок что нет на новом сайте кидало на старый сайт. В таком слвчае впихиваем это в 404.php и перед ее отдачей пытаемся поискать на старом бэке этот урл.
    В общем для вот таких костылей очень удобно и легко делается обычным разработм.
    2. Мод прокси для апача нужно подключить ибо он как правило отключен, эксклюзив но работать будет.
    3. nginx - стандарт на данный момент.
    Ответ написан
    1 комментарий
  • Как сделать фильтр по дате активности в news.List?

    shambler81
    @shambler81 Куратор тега 1С-Битрикс
    $GLOBALS['arrFilter'] = array(">=DATE_ACTIVE_FROM" => $from, "<=DATE_ACTIVE_FROM" => $to, "=PROPERTY_46_VALUE" => $label);?>

    думаю дальше уже самам поймешь
    Ответ написан
    Комментировать
  • Почему nginx при одинаковых настройках не работает?

    1. должно работать, давай все конфиги притом архивом всю папку.
    2. зачем тебе все это поставь админку в 1 клик дабы их миллион и забудь про все это как страшный сон
    ispconfig3
    aapanel
    vestacp
    Так же я вижу у тебя в ошибках FPM а его точно там быть не должно.
    Ответ написан
  • Не открывается сайт по домену?

    поставь
    ispconfig3 -в 1 клик
    aapanel - в 1 клик (нет русского)
    vestacp - в 1 клик
    Все панели тянут с собой все настройки всего и вся каждая из них полностью самодостаточна. Имеют веб интерфейс.
    Ответ написан
    Комментировать
  • Что означают вот эти записи в файле .htaccess?

    shambler81
    @shambler81 Куратор тега htaccess
    <FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|phP|PhP|php5|suspected)$">
    - если вот такие файлы
    Order allow,deny - запретить выполнение
    Deny from all - всем

    Второе только другие файлы.

    RewriteEngine On
    # Активирует мод реврайт, короче редиректы запускаются, активируется 1 раз за веьс файл.
    RewriteBase /
    # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1
    RewriteRule ^index.php$ - [L]
    # типа все если файл есть, то запускать его 
    RewriteCond %{REQUEST_FILENAME} !-f
    #Но если это нее файл
    RewriteCond %{REQUEST_FILENAME} !-d
    #  и если это не директория
    RewriteRule . index.php [L]
    #  то перенаправить на индекс .php


    Короче это ЧПУ
    Ответ написан
    5 комментариев
  • Есть аналоги open server на linux fedora?

    shambler81
    @shambler81 Куратор тега Linux
    есть готовые веб панели которые ставятся в 1 клик
    Там целая партянка демонов, не то что один апач
    DNS FTP SSH MAIL и тд
    ispconfig3
    aapanel
    vestacp
    Ответ написан
    Комментировать
  • Как объедеить запросы и выполнить один SQL запрос и затем получить результат в виде значений переменных PHP?

    Тебе нужно собрать собственный массив с этими данными.
    1 способ так себе, но рабочий создаешь массив и пихаешь в него эти данные в том формате что тебе нужно.
    Если совсем топорно то
    SELECT v.product, v.link, v.link FROM v_product v WHERE v.id = 5463 ORDER BY v.product ASC;
    ->
    $row[product]
    SELECT i.id as info_id, i.link_to_site FROM infograph v WHERE id = 5463;
    ->
    $row[infograph]и так далее.
    это совсем утрировано, все зависит от того что ты хочешь. Мысль в том что массив можно изменять и дописывать в него другими селектами

    2. но как правило просто используют JOIN в mysql К примеру LEFT JOIN Тем самым ты собираешь данные из разных таблиц в одну притом можешь управлять что с какйо стороны будет появляться, дабы потом просто выплевывать в foreach уже в виде готовых данных.

    Вот пример не шибко хороший но для принципа пойдет.
    мы выбераем нужные поля в одной таблице не беря лишнего, и берем нужные поля с другой таблицы.
    На выводе получается только те данные что нам нужны не берутся лишние ни с той ни с той таблицы.

    SELECT 
    	b.bid AS nid, 
    	b.text AS field_text_tgb_value, 
    	b.url AS field_tgb_url_value, 
    	b.footer AS field_tgb172_footer_value, 
    	b.zeropixel AS field_tgb172_zero_value, 
    	b.header_text AS title, 
    	b.filename AS filepath 
    FROM `ad_banners` b 
    JOIN `ad_c` a ON `b`.`bid` = `a`.`bid`
    WHERE 
    	`a`.`start_date`<from_unixtime(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i') AND
    	`a`.`end_date`>from_unixtime(UNIX_TIMESTAMP(), '%Y-%m-%d %H:%i') AND
        `a`.`ban_type` = '1' /* 1 - 172, 2 - 250, 3 - 330 */ AND
    	`a`.`w_site` = '$safesite' /* какой сайт 1 - НК, 2 - СПБ, 3 - поселок */ AND
    	`b`.`slider` = '0' /* указано, что не первый в слайдере! */
    	AND `a`.`stopflag` < 1
    ORDER BY RAND()
    LIMIT 0, 1");


    Попробуй вникнуть в смысл того что получается.
    Советую тебе крепко разобраться с этим вопросом, прям вникнуть, поскольку это тебе понадобится не то что часто а вообще каждый день.
    Сразу желательно без использования вот таких вещей как SELECT * и тд.
    ТО есть получать только те данные которые тебе нужны из неескольких таблиц а не собирать просто все таблицы в кучу.

    6361296a15eb7594616807.jpeg

    А вот тебе видео чтоб совсем не запутаться
    https://youtu.be/PTAkqURmI0s
    Ответ написан
  • Как сделать, чтобы изменения php.ini входили в силу?

    shambler81
    @shambler81 Куратор тега Linux
    Запусти phpinfo и посмотри какой реально используется ини файл.
    Вообще то вот лично у меня на сервере их окол 31 штуки.
    там как -бы для каждой версии и каждолго представления пхп отдлеьный. да и отдельно для каждого сайта можно назначить.
    Так что давай как посмотри какой реально ини используется там сразу вверху написано.
    Ответ написан
    Комментировать
  • Не работает php в apache2 ubuntu?

    ispconfig3 - 1 клик у тебя веб сервер с веб интерфейсом.
    aapanel - 1 клик у тебя веб сервер с веб интерфейсом.
    vestacp 1 клик у тебя веб сервер с веб интерфейсом.
    brainycp.com - 1 клик у тебя веб сервер с веб интерфейсом.
    Но ты решил пойти другим путем, понимаю...
    Ответ написан
    Комментировать
  • Почему nginx не запускает index.php?

    https://www.ispconfig.org/ - 1 клик веб интерфейс (да там почтовый сервер тоже).
    Ответ написан
  • Как продолжить скачивание через rsync?

    shambler81
    @shambler81 Куратор тега Linux
    А зачем rsync для банальной закачки сайта.
    Всегда качаю так. так
    tar cvfz -/var/www/public_html/ |ssh root@11.111.111.11 "cd/var/www/new_public_html/;tar xvfz -"

    дешево и сердито а главное это самый быстрый(в плане скорости копирования) способ объединяющий все плюсы скачки одним архивом и все плюсы скачки файлов не имея при этом минусов.
    По интернету проходит 1 файл архивный а на обоих сторонах только файлы.

    если отвал сессии мешает то nohup и все
    Ответ написан